Redis常见基础面试题

1. Redis缓存穿透:

在这里插入图片描述


2. Redis缓存雪崩:

在这里插入图片描述


3. Redis缓存击穿:

在这里插入图片描述
统一解决方案:布隆过滤器、分布式锁


4. 布隆过滤器:

在这里插入图片描述

特点是高效地插入和查询,用来告诉你 某样东西一定不存在或者可能存在
优点:
1. 本质上布隆过滤器是一种数据结构(一个 bit 向量或者说 bit 数组), 存储空间少
2. 不需要存储元素本身,在某些对保密要求非常严格的场合有优势
缺点:
1. 高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的
2. 传统的布隆过滤器并不支持删除操作
(使用变形Counter Bloom Filter,把位数组变成整数数组,每插入一个元素相应的计数器加1,
这样删除元素时,将计数器减掉就可以,但是首先要保证删除的元素在布隆过滤器中)

在这里插入图片描述
优点:查询速度快,数据安全性高
缺点:误判,没有删除


5. Redis 持久化方式:

快照是默认的持久化方式,默认配置:

save 900 1  #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内容如超过10个key被修改,则发起快照保存
save 60 10000
1.快照方式(Snapshotting):生成RDB文件,RDB持久化方式会在一个特定的间隔保存一个数据快照。
2.追加文件方式(Append-only file):生成AOF文件,AOF持久化方式则会记录每一个服务器收到的写操作。
在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。
写操作命令记录的格式跟Redis协议一致,以追加的方式进行保存。
3.Redis 还可以同时使用 AOF 持久化和 RDB 持久化。 在这种情况下, 
当 Redis 重启时,它会优先使用 AOF 文件来还原数据集, 
因为 AOF 文件保存的数据集通常比 RDB 文件所保存的数据集更完整。

6. Redis 主从如何同步(复制)数据:

 1.无论是初次连接还是重新连接,当建立一个从服务器时,从服务器都将给主服务器发送一个 SYNC 命令
 2.接到 SYNC 命令的主服务器将开始执行 BGSAVE,保存操作执行期间,将所有新执行的命令都保存到一个缓冲区里面,
   BGSAVE 执行完毕后,主服务器将.rdb 文件发送给从服务器
 3.从服务器接收这个 .rdb 文件,并将文件中的数据载入到内存中
 4.之后主服务器会以 Redis 命令协议的格式,将写命令缓冲区中的内容发送给从服务器

7. Redis 支持存储类型:

  1. String(字符串)
  2. List(列表)
  3. Hash(字典)
  4. Set(集合)
  5. Sorted Set(有序集合)

8. Redis 有序集合是怎么实现的:

Redis使用跳跃表作为有序集合键的的底层实现,Redis只在两个地方用到了跳跃表,一个是实现有序集合键,另一个是在集群节点中用作内部数据结构


9. Redis 淘汰策略:

过期策略
定期删除
惰性删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值