redis缓存击穿

76 阅读1分钟

所谓的redis缓存击穿指的是:热点key的过期,从而导致大量访问热点key的请求访问数据库,从而导致数据库压力过大。 解决方式:热点key通常是我们通过后台进行批量添加的,比如秒杀活动,解决热点key失效,可以重建缓存 1、互斥锁实现:只允许一个线程对redis缓存进行重建,其他线程处于等待状态,可以通过redis当中的setnx实现。缺点是串行化执行,效率低。优点是一致性高。 2、逻辑过期:给需要缓存的数据添加一个逻辑过期字段,通过对逻辑过期字段的判断,判断数据有无过期,如果过期则开启一个线程进行缓存重建,并且返回之前的数据。缺点是数据的一致性低,优点是相应速度快。

3、过期时间:热点数据设置为永不过期