Redis经典面试题,关于缓存穿透、缓存雪崩、缓存击穿
简单地来说,就是在缓存失效的时候(判断拿出来的值为空),不是立即去load db,而是先使用缓存工具的某些带成功操作返回值的操作(比如Redis的SETNX或者Memcache的ADD)去set一个mutex key, 当操作返回成功时,再进行load db的操作并回写缓存;另外,可以将缓存失效时间分散开,比如我们可以在原有的失效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会降低,就很难引发集体失效的事件。从功能上看,如果不过期,那不就成静态的了吗?
原创
2022-10-24 21:35:35 ·
88 阅读 ·
0 评论