redis的高频面试题

本文详细探讨了Redis的关键技术,包括缓存机制(穿透、击穿、雪崩),分布式锁的实现,一致性模型,集群设计,淘汰策略,持久化方法以及其快速性能的奥秘。
摘要由CSDN通过智能技术生成

1、redis的缓存穿透、缓存击穿、缓存雪崩

缓存穿透:是redis和数据库都没有这个值,大量的请求到达数据库。

使用布隆过滤器。

缓存null。

缓存击穿:是redis的一个过期key,大量的请求访问到数据库。

合理设置过期时间。

多级缓存。

缓存雪崩:是指redis出现大量的key同时过期,大量的请求访问数据库。

过期时间增加随机值。

2、redis的分布式锁

setNx(key,过期时间)+lua脚本

redisson框架实现的锁

3、redis的一致性

强一致:延时双删不能保证强一致性。(修改前删一下,修改后在删一下,之后在更新缓存),redission中的读写锁,读的时候可以并发,写的时候不能并发。

最终一致性:mq异步更行缓存。

4、redis的集群

分片集群(多个master互相检测健康状态)

哈希槽 16384

读写数据:根据key的有效部分计算哈希值,在对17384取余的余数作为插槽。

5、redis的淘汰策略。 allkeys-lru

lru算法:最少最近使用

lfu算法:最少频率使用

6、redis的持久化

rdb:快照的方式写入磁盘,读写效率高,但可能会丢数据。

aof:是以命令的方式写入磁盘,体积较大,恢复效率慢,丢数据风险小。

7、redis的过期策略

惰性删除:访问key的时候判断是否过期

定期删除:定期检查一定的key是否过期(slow,fast(对cpu影响小))

8、redis为啥那么快

纯内存操作,肯定快。

单线程,没有上下文的切换。

使用I/O多路复用模型。(你需要啥告诉我,我这就给你办,而不是我去循环找你)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值