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

缓存穿透

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

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

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

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

缓存击穿

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

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

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

缓存雪崩

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

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

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

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

相关内容

热门资讯

“江湖”好物出征草原 拉满赛场... 5月30日,通辽体育中心体育场,东北超第二轮鸡西对阵通辽的比赛还没开球,赛场外已经先“热”了起来。 ...
原创 告... 编辑:[太阳] 我们现在吃到的很多西红柿,早就不是老味道里的那颗西红柿了,它看着更红、更圆、更硬、更...
原创 中... 说句掏心窝子的话,豆腐脑这玩意儿,是中国人餐桌上最"吵架"的食物,没有之一。 你要是敢在网上发一句"...
张铁林的嘴有多刁?吃月饼只吃品... 吃五仁的。还真是五仁的,我就喜欢吃五仁的。老派,我吃自来红(月饼),西安叫水晶饼。那是我的命,就喜欢...
原创 高... 高考前期,这6道“益智菜”常做给孩子吃,补脑又解压,助力金榜题名! 距离高考只剩最后冲刺阶段,孩子...