【≅Redis】什么是缓存击穿?怎么解决?

某一个key可能会在某些时间点被超高并发地访问,是一种非常"热点"的数据,这个key失效,导致并发访问数据库。

与缓存雪崩的区别在于这里针对某一key缓存,前者则是很多key,这里是指同一个key。

解决方案:

  • 设置热点数据永远不过期
  • 加互斥锁,如果缓存中没有,只能一个线程去拿到锁,并且去DB中查询,查完set到缓存,释放锁,而没有抢到锁的线程先睡眠,然后再查一次缓存。

 

posted @ 2023-03-17 10:12  残城碎梦  阅读(23)  评论(0编辑  收藏  举报