Cache写机制Write-through与Write-back

天翼云开发者社区
• 阅读 0

本文分享自天翼云开发者社区《Cache写机制Write-through与Write-back》,作者:LeonHao

cache写机制中的write through 和 write back https://en.wikipedia.org/wiki/Cache#Writing_Policies

Write-through- Write is done synchronously both to the cache and to the backing store.
Write-back (or Write-behind) - Writing is done only to the cache. A modified cache block is written back to the store, just before it is replaced.
  • Write-through(直写模式)在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较慢。
  • Write-back(回写模式)在数据更新时只写入缓存Cache。只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。此模式的优点是数据写入速度快,因为不需要写存储;缺点是一旦更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回。
  • Writearound ats现有cache写入模式

Write-misses写缺失的处理方式

对于写操作,存在写入缓存缺失数据的情况,这时有两种处理方式: Write allocate (aka Fetch on write) - Datum at the missed-write location is loaded to cache, followed by a write-hit operation. In this approach, write misses are similar to read-misses. No-write allocate (aka Write-no-allocate, Write around) - Datum at the missed-write location is not loaded to cache, and is written directly to the backing store. In this approach, actually only system reads are being cached.

Write allocate方式将写入位置读入缓存,然后采用write-hit(缓存命中写入)操作。写缺失操作与读缺失操作类似。

No-write allocate方式并不将写入位置读入缓存,而是直接将数据写入存储。这种方式下,只有读操作会被缓存。

无论是Write-through还是Write-back都可以使用写缺失的两种方式之一。只是通常Write-back采用Write allocate方式,而Write-through采用No-write allocate方式;因为多次写入同一缓存时,Write allocate配合Write-back可以提升性能;而对于Write-through则没有帮助。

处理流程图

Write-through模式处理流程: Cache写机制Write-through与Write-back A Write-Through cache with No-Write Allocation Write-back模式处理流程: Cache写机制Write-through与Write-back

点赞
收藏
评论区
推荐文章
Springfox与SpringDoc——swagger如何选择(SpringDoc入门)
本文分享自天翼云开发者社区@《》,作者:才开始学技术的小白0.引言之前写过一篇关于swagger(实际上是springfox)的使用指南(https://www.ctyun.cn/developer/article/371704742199365),涵盖了
HDFS目录配额(quota)不足导致写文件失败
本文分享自天翼云开发者社区《》,作者:5m问题背景与现象给某目录设置quota后,往目录中写文件失败,出现如下问题“TheDiskSpacequotaof/tmp/tquota2isexceeded”。omm@18939150115client$hdf
flinkcdc中checkpoint不成功问题排查
本文分享自天翼云开发者社区《》,作者:徐东使用flink1.16和flinkcdc3.0进行数据接入,采用standalone模式。运行一段时间后checkpoint开始失败,但日志中没有报错信息。因savepoint和checkpoint机制一致,使用手
Rust 中的 Tokio 线程同步机制
本文分享自天翼云开发者社区《》,作者:lnRust中的Tokio线程同步机制在并发编程中,线程同步是一个重要的概念,用于确保多个线程在访问共享资源时能够正确地协调。Tokio是一个强大的异步运行时库,为Rust提供了多种线程同步机制。以下是一些常见的同步机
思科SRv6 实现 VPN+流量工程测试
本文分享自天翼云开发者社区《》.作者:yn创建网络命名空间ipnetnsaddr1ipnetnsaddr2ipnetnsaddr3ipnetnsaddr4ipnetnsaddhostaipnetnsaddhostbipnetnsaddhostcipnetn
Nginx的请求处理
本文分享自天翼云开发者社区《》.作者:小谢不用谢三级标题Nginx的请求处理流程worker进程中,ngxworkerprocesscycle()函数就是这个无限循环的处理函数。在这个函数中,一个请求的简单处理流程如下:(1)操作系统提供的机制(例如epo
openresty中使用ngx.sleep(0)防止worker进程阻塞
本文分享自天翼云开发者社区《》.作者:小谢不用谢1.ngx.sleep(0)的工作原理在OpenResty中,ngx.sleep(0)函数的作用是让当前的Lua协程主动放弃CPU执行权,以便Nginx能够及时处理其他并发请求和I/O操作。具体来说,调用ng
ngx.location.capture()变量继承
本文分享自天翼云开发者社区《》.作者:luckylyw通过几个例子,简要分析variable与ctx在主请求与子请求中的关系。copyallvars&shareallvarsserverlisten:::80;https配置http访问端口v6格式li
使用element-ui 的上传组件upload完成自定义上传到天翼云oss云服务器
本文分享自天翼云开发者社区@《》,作者:我是小朋友首先配置天翼云,如下操作1、要求在使用OOS之前,首先需要在www.ctyun.cn注册一个账号(Account)。创建AccessKeyId和AccessSecretKey。AccessKeyId和Acc
boringssl中0-RTT的错误码
本文分享自天翼云开发者社区《》.作者:沈扬在TLS协议中,0RTT(零往返时间)是指在某些情况下,客户端可以在第一个往返(RTT)中就开始发送加密的应用数据,而不需要等待完整的TLS握手完成。这种机制允许客户端在重新连接到服务器时,利用之前会话中缓存的信息
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
1.0k
粉丝
16
获赞
40