我把所有 Java 相干的面试题和答案都整顿成了 PDF,并且带书签目录,浏览起来十分不便
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
1. 为什么 redis 须要把所有数据放到内存中?
Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的形式将数据写入磁盘。所以 redis 具备疾速和数据长久化的特色。如果不将数据放在内存中,磁盘 I / O 速度为重大影响 redis 的性能。在内存越来越便宜的明天,redis 将会越来越受欢迎。
如果设置了最大应用的内存,则数据已有记录数达到内存限值后不能持续插入新值。
2. Redis 中数据库默认是多少个 db 即作用?
Redis 默认反对 16 个数据库,能够通过配置 databases 来批改这一数字。客户端与 Redis 建设连贯后会主动抉择 0 号数据库,不过能够随时应用 select 命令更换数据库。
Redis 反对多个数据库,并且每个数据库是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。
3. Redis 事务其余实现
- 基于 Lua 脚本,Redis 能够保障脚本内的命令一次性、按程序地执行,
其同时也不提供事务运行谬误的回滚,执行过程中如果局部命令运行谬误,剩下的命令还是会持续运行完 - 基于两头标记变量,通过另外的标记变量来标识事务是否执行实现,读取数据时先读取该标记变量判断是否事务执行实现。但这样会须要额定写代码实现,比拟繁琐
4. Redis 集群如何抉择数据库?
Redis 集群目前无奈做数据库抉择,默认在 0 数据库。
5. 应用形式
GEOADD key longitude latitude member [longitude latitude member ...]
将给定的地位对象(纬度、经度、名字)增加到指定的 key。其中,key 为汇合名称,member 为该经纬度所对应的对象。在理论使用中,当所需存储的对象数量过多时,可通过设置多 key(如一个省一个 key) 的形式对对象汇合变相做 sharding,防止单汇合数量过多。
胜利插入后的返回值:
(integer) N
其中 N 为胜利插入的个数。
前面的问题,大家能够先本人独立思考一下。
另外我把所有 Java 相干的面试题和答案都整理出来了,给大家参考一下
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645