【知识点】Redis-缓存-缓存击穿
缓存击穿:缓存中一个热点数据过期或失效时,由于该数据非常受欢迎,会有大量请求直接打到数据库上,导致数据库负载增大、相应变慢甚至瘫痪。
解决方式:
- 互斥锁
在查询数据库之前首先获取分布式锁,更新redis之后再释放锁,可以保证数据的强一致性。
优缺点:
优点:强一致性
缺点:性能差
- 逻辑过期
数据本身不设置过期时间,而是添加一个过期时间字段,发现数据过期后先获取分布式锁,获取到就开一个新线程来更新数据,旧线程直接返回过期数据,新线程更新redis数据和过期时间,并释放分布式锁。
优缺点:
优点:线程不等待,性能优良
缺点:存在过期数据
本文作者:编程随写
本文链接:https://www.cnblogs.com/code-blog/p/18119981
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2023-04-07 使用Docker发布普通web项目(非springboot项目)
2023-04-07 IDEA导入普通web项目
2023-04-07 网页调用打印机(Lodop)使用记录
2023-04-07 项目中Latex处理笔记