总结
缓存失效的两种情况:
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
版权声明:本文为博主原创文章,转载请附上博文链接!