Redis第四篇——缓存
Posted 搬砖小松鼠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis第四篇——缓存相关的知识,希望对你有一定的参考价值。
这一篇和Redis本身关系不大,而是我们在日常将Redis作为缓存使用时会遇到的几个问题
缓存穿透
关键点:访问一个不存在的key。 当请求一个不存在的key时,缓存就没用了,这样每次请求都直接打到我们后台的DB
解决办法:
(1)对不存在的key进行缓存
(2)使用布隆过滤器
布隆过滤器的特点:可保证返回不存在的元素一定不存在,返回存在的元素大概率存下,因此是存在一定的误判率的
缓存击穿
关键点:对于设置了过期时间的缓存数据,当该数据过期时,此时有大量对该数据的请求,就会导致这波突然的流量全打到数据库
解决办法:
(1)加锁请求
缓存雪崩
关键点:大量的key在同一时间过期,也会导致流量全打到数据库
解决办法:
(1)为不同的key设置不同的过期时间,在设置过期时间时增加一个随机值
缓存一致性
当做缓存时,缓存数据与数据库数据的一致性问题
以上是关于Redis第四篇——缓存的主要内容,如果未能解决你的问题,请参考以下文章