redis缓存相关问题及解决方案
程序员文章站
2022-06-23 11:15:03
缓存问题击穿,穿透,雪崩,一致性解决方案:1.击穿:给操作加锁(缓存为空,查数据库,更新缓存)2.穿透:查数据库,存储返回空值,或者使用布隆过滤器过滤数据库中没有的数据3.雪崩:设置随机过期时间4.数据一致性:双写(更新数据库,并且更新缓存),失效模式(写数据库,删除缓存,缓存的更新由读操作完成),二者的共同问题:操作非原子操作,需要加锁。一致性解决方案: 1)缓存的所有数据都有过期时间,数据过期下一次查询触发主动更新 2)读写数据的时候,加上分布式读写锁。(在经常写,经常读的......
缓存问题
击穿,穿透,雪崩,一致性
解决方案:
1.击穿:给操作加锁(缓存为空,查数据库,更新缓存)
2.穿透:查数据库,存储返回空值,或者使用布隆过滤器过滤数据库中没有的数据
3.雪崩:设置随机过期时间
4.数据一致性:双写(更新数据库,并且更新缓存),失效模式(写数据库,删除缓存,缓存的更新由读操作完成),二者的共同问题:操作非原子操作,需要加锁。
一致性解决方案:
1)缓存的所有数据都有过期时间,数据过期下一次查询触发主动更新
2)读写数据的时候,加上分布式读写锁。(在经常写,经常读的场景下会影响性能,在写少读多的情况下没有影响)
一致性问题相关组件canal
本文地址:https://blog.csdn.net/qq_15720911/article/details/110948083
上一篇: 华为、荣耀不限量开放HarmonyOS升级:覆盖十余款老机型
下一篇: mysql忘记密码应该怎么做