缓存击穿 实际上是缓存雪崩的一个特例,大家使用过微博的应该都知道,微博有一个热门话题的功能,用户对于热门话题的搜索量往往在一些时刻会大大的高于其他话题,这种我们称为缓存的 “热点”,由于系统中对这些热点的数据缓存也存在失效时间,在热点的缓存到达失效时间时,此时依然可能会有大量的请求到达系统,没有了缓存层的保护,这些请求同样的会到达 db 从而可能引起故障。
击穿与雪崩的区别即在于击穿是对于特定的热点数据来说,而雪崩是全部数据。
解决方案
二级缓存:对于热点数据进行二级缓存,并对于不同级别的缓存设定不同的失效时间,则请求不会直接击穿缓存层到达数据库。