首页 > 其他分享 >说说常见的缓存更新策略?

说说常见的缓存更新策略?

时间:2023-09-12 17:24:56浏览次数:36  
标签:缓存 read 数据库 常见 更新 write through

说说常见的缓存更新策略?

有cache aside,read/write through ,write back三种

cache aside

对于写操作,先更新数据库,后删除缓存,对于读操作,先访问缓存,有返回,没有查询数据库再保存到缓存中。

适用于读多写少的场景,不适合写多的场景,因为写多会频繁删除缓存

如果对缓存命中率有很高要求,有两种方案:

  1. 更新数据库同时更新缓存,并且加上互斥锁
  2. 更新数据库同时更新缓存,但是缓存过期时间短

read/write through

只对缓存操作,对数据库的操作交给缓存组件管理。

read through

查询是否在缓存中,在返回,不再由组件查询,保存缓存并且返回结果

write through

查询待更新数据是否在缓存中

在,更新缓存,由缓存组件对数据库更新

不在,直接更新数据库

使用本地缓存可以考虑使用这种策略

Write Back(写回)策略

更新数据时,更新缓存并认为缓存中的数据认为是脏的,对于数据库更新会通过批量异步更新

读取数据时,有返回,没有读取数据库并设置缓存

标签:缓存,read,数据库,常见,更新,write,through
From: https://www.cnblogs.com/xiuer211/p/17697270.html

相关文章

  • C# OxyPlot点值更新
    https://cloud.tencent.com/developer/ask/sof/980029https://stackoom.com/question/1PoF3https://stackoom.com/......
  • 常见流量特征
    蚁剑流量特征base64AES加密传递函数:php类常见@iniset("displayerrors","g"),@settimelimit(@),asp类常见execute同时蚁剑也有eval这种明显的特征混淆加密后常_ox......=这种形式,以_x开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征菜刀流量特征早......
  • 更新 CentOS 账号秘钥
    通过子账号登入系统创建密钥对[username@devicename~]$ssh-keygen-trsa-C"20230912"#-C参数为备注,方便自己辨识Generatingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/username/.ssh/id_rsa):#回车,默认路径Createddirect......
  • K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法
    问题1:K8S集群服务访问失败?原因分析:证书不能被识别,其原因为:自定义证书,过期等。解决方法:更新证书即可。问题2:K8S集群服务访问失败?curl:(7)Failedconnectto10.103.22.158:3000;Connectionrefused原因分析:端口映射错误,服务正常工作,但不能提供服务。解决方法:删除svc,重新映射端口......
  • Android开发中常见的设计模式
    Android开发中常见的设计模式对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次。而在android开发中,必要的了解一些设计模式又是非常有必要的。对于想系统的学习设计模式的同学,这里推荐2本书。一本是HeadFirst系列的HeadH......
  • xilinx赛灵思下载器jtag-hs3兼容alinx仿真fpga烧录digilent高速常见问题解答
    1.概述  XJTAG-HS3是XILINX的USB转JTAG的高速仿真器,可以下载、烧录和仿真Xilinx FPGA和CPLD芯片,以及配置PROM、FLASH. XJTAG-HS3比PlatformCableUSBII下载器快10倍速度。 可以在30Mbit/秒下驱动JTAG/SPI总线,并且能实现对XilinxZYNQ平台处理器核的重置。可以支持ZYN......
  • C与CPP常见编译工具链与构建系统简介
    笔者最近在研究CEF的CMake工程,心血来潮想要对各种编译工具链以及构建系统做一个简单的总结,于是就有了本文。本文不会讲解任何关于C/C++语言方面的内容,主要C/C++的编译出发,介绍各种编译工具链与构建系统的关系。此外,由于笔者水平有限,无法从非常专业的角度剖析C/C++的语言特性与编译......
  • Redis缓存数据和表数据一致性之延时双删策略
    一、什么是Redis延时双删?1、延迟双删策略是分布式系统中数据库存储和缓存数据保持一致性的常用策略,但它不是强一致。不管哪种方案,都无法绝对避免Redis存在脏数据的问题,只能减轻这个问题2、因为双删策略执行的结果是把redis中保存的那条数据删除了,以后的查询就都会去查询数据库......
  • 浅析三维模型3DTile格式轻量化处理常见问题与处理措施
    浅析三维模型3DTile格式轻量化处理常见问题与处理措施 三维模型3DTile格式的轻量化处理是大规模三维地理空间数据可视化的关键环节,但在实际操作过程中,往往会遇到一些问题。下面我们来看一下这些常见的问题以及对应的处理措施。变形过大:压缩过程中最常见的问题就是模型变形过......
  • 过滤器:禁止浏览器缓存所有动态页面
    禁止浏览器缓存所有动态页面意味着阻止浏览器在访问网站上的动态生成内容时将这些内容存储在本地缓存中。动态页面通常是那些在每次加载时都会根据用户请求或其他因素而生成不同内容的页面,而不是静态页面,其内容在每次访问时都保持不变。禁止浏览器缓存动态页面可以确保用户在访问......