〖Redis指南⑥〗Redis缓存更新策略

缓存

缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。

优点

  • 降低后端负载
  • 提高读写效率,降低响应时间
  • 缩短系统的响应时间
  • 减少网络传输时间和应用延迟时间
  • 提高系统的吞吐量
  • 增加系统的并发用户数
  • 提高了数据库资源的利用率

缺点

  • 在高并发场景下会出现缓存失效(缓存穿透、缓存雪崩、缓存击穿) 造成瞬间数据库访问量增大,甚至崩溃

  • 缓存与数据库无法做到数据的时时同步 Redis无法做到主从时时数据同步

  • 缓存并发竞争 多个redis的客户端同时对一个key进行set值得时候由于执行顺序引起的并发问题

Redis三种缓存更新策略

〖Redis指南⑥〗Redis缓存更新策略

低一致性需求:使用内存淘汰机制。高一致性需求:主动更新,并以超时剔除作为兜底方案。

读操作

  • 缓存命中则直接返回
  • 缓存未命中则查询数据库,并写入缓存,设定超时时间

写操作

  • 先写数据库,然后再删除缓存
  • 要确保数据库与缓存操作的原子性
  • 由缓存的调用者,在更新数据库的同时更新缓存

删除缓存

更新数据库时让缓存失效,查询时再更新缓存

如何保证缓存与数据库的操作的同时成功或失败?

  • 单体系统,将缓存与数据库操作放在一个事务
  • 分布式系统,利用TCC等分布式事务方案


原文始发于微信公众号(步尔斯特):〖Redis指南⑥〗Redis缓存更新策略

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/47911.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!