1. 首页>
  2. 技术文章>
  3. Redis缓存雪崩

Redis缓存雪崩

2/9/23 9:19:43 AM 浏览 948 评论 0

redis redis雪崩

缓存雪崩是指大量的请求无法命中Redis中的缓存数据,也就是在Redis找不到数据了,那业务系统只能到数据库中查询,进而导致所有的请求都发送到了数据库。数据库并不像Redis能处理大量请求,由缓存雪崩导致的请求激增必须会导致数据库所在宕机,这样势必会影响业务系统,所以如果发生缓存雪崩,对于业务系统肯定是致命的。


为什么发会生缓存雪崩?什么情况下出现缓存雪崩呢?总结起来有以下两个方面的原因:

1) 大量Redis缓存数据同时过期,导致所有的发送到Redis请求都无法命中数据,只能到数据库中进行查询。

2) Redis服务器宕机,所有请求都无法经Redis来处理,只能转向数据库查询数据。


如何避免缓存雪崩?针对导致缓存雪崩的原因,有不同的解决方法:

1) 针对大量缓存随机过期时间,解决方法就是在原始过期时间的基础上,再加一个随机过期时间,比如1到5分钟之间的随机过期时间,这样可以避免大量的缓存数据在同一时间过期。

2) 而针对Redis解决宕机的导致的缓存雪崩,可以提前搭建好Redis的主从服务器进行数据同步,并配置哨兵机制,这样在Redis服务器因为宕机而无法提供服务时,可以由哨兵将Redis从服务器设置为主服务器,继续提供服务。


网友讨论