认识常见中间件-redis(三)-redis缓存更新策略

news/2024/11/24 0:20:09/

  redis缓存更新策略主要有三种:Cache Aside Pattern、Read/Write Through Pattern、Write Behind Caching Pattern

Cache Aside Pattern(旁路缓存)

  Cache Aside策略是最常用的,应用程序直接与「数据库、缓存」交互,并负责对缓存的维护,该策略又可以细分为「读策略」和「写策略」

  写策略:先更新数据库中的数据,再删除缓存中的数据

  读策略:如果读取的数据命中了缓存,则直接返回数据;如果读取的数据没有命中缓存,则从数据库中读取数据,然后将数据写入到缓存,并且返回给用户。

   其中需要注意的是写策略为什么先更新数据库 再删除缓存中的数据,这是因为缓存的写入通常要远远快于数据库的写入,不容易出现缓存和数据库的数据不一致性的问题。这种策略适合读多写少的情况。

Read/Write Through Pattern(读穿 / 写穿)策略

  缓存与数据库整合为一个服务,由服务来维护一致性。调用者调用该服务,无需关心缓存一致性问题。应用程序只和缓存交互,不再和数据库交互,而是由缓存和数据库交互。

  Read Through 策略:先查询缓存中数据是否存在,如果存在则直接返回,如果不存在,则由缓存组件负责从数据库查询数据,并将结果写入到缓存组件,最后缓存组件将数据返回给应用。

  Write Through 策略:当有数据更新的时候,先查询要写入的数据在缓存中是否已经存在:

  • 如果缓存中数据已经存在,则更新缓存中的数据,并且由缓存组件同步更新到数据库中,然后缓存组件告知应用程序更新完成
  • 如果缓存中数据不存在,直接更新数据库,然后返回

Write Behind Caching Pattern(写回)策略

  调用者只操作缓存,由其他线程异步的将缓存数据持久化到数据库,保证最终一致。

  实际上,这种策略也不能应用到我们常用的数据库和缓存的场景中,因为 Redis 并没有异步更新数据库的功能

  这种策略适合于写多读少的情况,CPU 的缓存、操作系统中文件系统的缓存都使用了这种策略。


http://www.ppmy.cn/news/75248.html

相关文章

【JDK】module模块系统

JDK9新特性-module模块系统 在Sources Root下新建module-info.java,内容格式如下所示 module modulename {//模块指令 }modulename具有唯一性一个工程,即使是不同的Sources Root,仅能存在一个module-info.java模块体内可以保留空内容或者模…

QT客户端外包开发的特点

QT是一种跨平台的C应用程序开发框架,主要用于开发图形用户界面(GUI)应用程序。它提供了一套丰富的类库和工具,可以帮助开发者快速构建高质量、可扩展、易于维护的应用程序。今天和大家分享一下QT的主要特点和注意的问题,希望对大家有所帮助。…

分享7款优质免费的Figma“中文插件”

今天我要向你们分享一些 Figma 的“中文插件”,这些插件不仅功能强大,而且免费使用,非常方便,而且是完全中文的页面使用起来非常便捷,可以大大提高设计师的效率和体验。 1、「平面 3D」 插件 首先是平面 3D 插件。该…

ETSI TS-关于SCP80

描述 GPC_UICC Configuration_v2.0.pdf 中: 规范 ts_102.225v12.1.0 Secured packet structure for UICC based applications.pdf spi kic kid编码 7 TCP/IP 的实现 在发送安全数据包之前,发送实体应使用定义的推送机制打开 TCP/IP 连接 在 ETSI TS 102 226 [9] …

【IDEA】DeBug(图文并茂)

文章目录 01_Debug简介和意义02_IDEA中的Debug步骤03_跳转到当前代码执行的行04_步过调试的使用05_步入调试的使用06_强制步入调试的使用07_步出调试的使用08_回退断点调试的使用09_运行到光标处10_计算表达式11_条件断点12_多线程调试 IDAEA(Interactive Data Anal…

人人可用的开源数据可视化分析工具

大家好,我是互联网架构师! 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用…

实时频谱-1.1基本概念

RF信号 RF(射频)是Radio Frequency的缩写,表示可以辐射到空间的电磁频率,频率范围从300KHz~30GHz之间。 中频 IF(intermediate frequency),用来在中频衡量AM或FM调谐器抑制外来干扰的能力,数…

短睡眠 堀大辅 超短眠 人生更丰富

堀大辅是位每天只睡半小时的日本狠人,更多信息自行百度。以下内容,个人收集总结,仅供参考。 堀大辅大胆假设「只要能够减少睡眠的时间,我就能过得更充实」,便与朋友付诸行动,通过纪录观察每天的睡眠时数&a…