使用Redis的可能引起的三个问题
admin
2024-01-20 01:08:12

缓存穿透

描述:缓存穿透是有些人恶意请求缓存和数据库中都不存在的数据,如果他请求次数非常的频繁,可能会把数据库打挂掉。

解决办法:添加以当前key为键的空对象。

​ 使用布隆过滤器过滤掉空key。

​ 对于这种恶意攻击,可以进行身份核验或者数据合法检验等。

缓存击穿

描述:指大量请求去访问缓存中的一个数据,然后这条数据过期了,然后短时间内大量的请求就打到了数据库上面,可能会把数据库给打挂掉。

解决办法:对于热点数据,设置永不过期,定时更新缓存。

​ 使用互斥锁分布式锁,让一个线程去访问数据库将缓存写进来,其他线程访问缓存。

缓存雪崩

描述:缓存服务宕机或者缓存同一时间大面积失效,造成大量请求打到了数据库上面,可能将数据库给打挂掉。

解决办法:给缓存的失效时间加上一个随机值,避免同一时间失效。

​ 使用互斥锁,同一个key值只允许一个去访问数据库然后写缓存,其他线程访问缓存。

缓存击穿和缓存雪崩的区别:
击穿是指一条数据过期引发的一系列问题,而雪崩是指多条数据过期引发的一系列问题,数量不一样这俩。

相关内容

热门资讯

导游强逼旅客购物,香港严惩旅游... 来源:环球时报【环球时报综合报道】香港特区政府严惩旅游业“害群之马”,又有两家旅行代理商以及一名导游...
沙虫酸奶拉高股价?燕塘乳业回应... 产品口味颠覆性创新,正成为区域乳企突围的新尝试。 近日,广东老牌乳企燕塘乳业旗下子公司推出的沙虫、生...
13道 风味热卖菜 百宴技为先、修得方成艺——马涛! 我是马涛,深耕酒店、餐饮一线工作至今30年,致力于酒店、餐饮经营有...
扬州人在上海大厦当主厨,把大闸... 外白渡桥畔,苏州河与黄浦江在此交汇。上海大厦在一旁已矗立近百年,二楼藏着一家叫“Le Reflet”...