• 数据的一致性

    • 缓存中有数据,缓存的数据值需要和数据库中的值相同
    • 缓存中没有数据,数据库中的值必须是最新值
  • 读写缓存

    • 要保证一致性可以采用同步直写策略
    • 适用于读写相当的业务场景
  • 只读缓存

    • 数据不一致的问题原因、现象和应对方案
      • image.png
      • 分为 1. 先删除缓存再更新数据库;2. 先更新数据库再删除缓存
    • 适用于读操作比较多的业务场景
  • 优先使用先更新数据库再删除缓存的方法

    • 1 先删除缓存可能导致请求因缓存缺失而访问数据库,给数据库带来压力
    • 2 业务应用中读取数据库和写缓存的时间不好估算,所以延迟双删的等待时间不好设置
    • 注意:如果要保证数据一致,可以在更新数据库的时候在 Redis 缓存客户端暂存并发读请求,等数据库更新完、缓存值删除后再读取数据