如何应对Redis缓存击穿?

|

缓存击穿,指的是缓存中访问率很高的的key,因为过期了或者被淘汰了等原因,导致无法从缓存中读取,进而导致大量请求直接打到数据库,给数据库带来巨大的压力。

image-20211010135402842

我们可以通过如下的措施,避免缓存击穿:

  • 不给此类热点key设置过期时间,并且淘汰策略设置为volatile,然后通过异步刷新策略或者定时刷新策略进行更新缓存;
  • 在缓存快要过期之前,通过分布式锁,限制放一个线程请求后端数据库进行更新缓存。