缓存更新
- 问题
- mysql和redis是两个独立的系统, 在并发环境下, 无法保证更新的一致性
- 解决办法
- 设计分布式锁(redis-setnx)/使用消息队列串行处理
- 更新数据时, 先写入mysql, 再删除缓存 facebook
- 主要用于 数据对象 (更新少)
- 数据集合主要还是更新缓存 (更新多, 频繁查询成本高)
缓存穿透

缓存雪崩
- 问题
- 如果大量缓存数据都在同一个时间过期, 那么很可能出现缓存集体失效, 会导致所有的请求都直接访问数据库, 导致数据库压力过大
- 解决办法
- 设置过期时间时, 添加随机值, 让过期时间进行一定程度分散
- 多级缓存的方式来处理
- 利用锁/队列的形式
缓存问题 (重点)
原文:https://www.cnblogs.com/oklizz/p/11420234.html