IDC

一分钟之聊聊缓存写策略

作者:admin 2021-06-11 我要评论

通常来说,当系统写数据到缓存的时候,在某个时点也需要更新缓存后端的数据库。究竟在哪个时点更新后端数据库,是由缓存写策略来控制。 缓存写策略,主要包含两...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

通常来说,当系统写数据到缓存的时候,在某个时点也需要更新缓存后端的数据库。究竟在哪个时点更新后端数据库,是由缓存写策略来控制。

缓存写策略,主要包含两个基础方法,Write-through和Write-behind。

Write-through,写数据到缓存和写数据到数据库是同步的。如果写数据***缓存,那么可以先刷新缓存,然后再写数据库。如果写数据库不***缓存,这个时候是可以直接写数据库了。等到读的时候,如果不***缓存,再从数据库中取数据缓存起来。

Write-behind,延后写数据到数据库。其中一种实现方法是异步写数据到数据库。首先写数据到缓存,然后发布一个写事件到消息队列,此时即可响应客户端了。消息队列的消费者处理写事件,将数据写到数据库中。Write-behind如果对于频繁的数据写表操作,是能提高写性能的。当然如果在写缓存成功,但写事件发布成功前,缓存 server 宕机了,也是有可能数据丢失了。

大多数的系统都是读多写少,所以Write-through策略应用相当广泛,就如spring cache 中的CachePut 注解作用。Ehcache缓存支持这两种策略。

***提出这样一个场景,需要从数据库中,取一些数据(数据会不定时改变,相当频繁),然后做一些复杂耗时的计算,再将结果最终保存到数据库中,这个时候我们该如何做缓存?


本文转载自网络,原文链接:http://mp.weixin.qq.com/s/prj13ySCheh-UyuNu1Aadw

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 再谈Raid 5和Raid 6的写性能差异

    再谈Raid 5和Raid 6的写性能差异

  • RAID5磁盘阵列修复要点

    RAID5磁盘阵列修复要点

  • 探究:如何提升大数据云存储的安全性?

    探究:如何提升大数据云存储的安全性?

  • 存储网络 – FCoE与FCIP间的小同大异

    存储网络 – FCoE与FCIP间的小同大异

腾讯云代理商
海外云服务器