缓存失效的两种情况

总结

缓存失效的两种情况:
1.大面积缓存key失效,所有车次查询都依赖数据库,可对缓存的时间进行随机分布
2.热点key失效,某个key的海量请求直击数据库
缓存的实现原理:先查缓存,再查DB,塞进缓存
1.缓存失效:缓存有有效时间,当有效时间到达,大量并发线程会直击数据库。
解决方案:1.Lock 第一人查DB,做缓存,剩余人二次查询缓存

优点:简单有效,适用范围广
缺点:阻塞其他线程,用户体验差
锁颗粒度大
优化:细粒度锁实现

2.缓存降级:1)做备份缓存,不设置事件 2)返回固定值
主备都无数据,一人去查DB,剩余人返回固定值
主无数据,备有数据,一人查DB,剩余人查备份
优点:灵活多变
缺点:备份缓存数据可能不一致
---------------------  
作者:隔壁阿源  
来源:CSDN  
原文:https://blog.csdn.net/weixin_41768073/article/details/84133811  
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/fengff/p/11195830.html