redis缓存相关问题及解决方案

缓存问题
击穿,穿透,雪崩,一致性
解决方案:
1.击穿:给操作加锁(缓存为空,查数据库,更新缓存)
2.穿透:查数据库,存储返回空值,或者使用布隆过滤器过滤数据库中没有的数据
3.雪崩:设置随机过期时间
4.数据一致性:双写(更新数据库,并且更新缓存),失效模式(写数据库,删除缓存,缓存的更新由读操作完成),二者的共同问题:操作非原子操作,需要加锁。
一致性解决方案:
    1)缓存的所有数据都有过期时间,数据过期下一次查询触发主动更新
    2)读写数据的时候,加上分布式读写锁。(在经常写,经常读的场景下会影响性能,在写少读多的情况下没有影响)

一致性问题相关组件canal
 

你可能感兴趣的:(缓存,redis,redis,分布式,缓存)