缓存的基本知识
在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。
在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质的资源闲置。而通过引入第三种介质(速度和成本介于两者中间),将低速方读写的部分内容数据保存在该介质中,高速方大多数情况下则无需和低速方直接交互,这样就能整体提升了交互的性能。这就是计算机体系中缓存的由来。比较典型的就是CPU缓存(CPU寄存器=>L1 cahce =>L2 cache =>内存=>硬盘),如图:
缓存的策略:
缓存的更新策略
A 由获取数据请求触发的被动更新
B 由更新数据请求触发的主动更新(双写)
C 使用独立线程主动定时更新缓存
D 回调方式更新(过期或依赖)
E 永远不更新
缓存的过期(失效)策略
F 绝对的过期时间
G 平滑过期(有人使用就不会过期)
H 依赖方式(依赖数据库、依赖文件)
I 永远不过期
缓存的清除(替换)策略:
RAND 删除随机数据,不能反映局部性。
SIZE 删除最大的数据。
FIFO,First In First Out 删除最先进入缓存的数据,不能反映局部性。
LFU,Least Frequently Used 删除一直以来最少被使用的数据。
LRU,Least Recently Used 删除最近最少使用的数据。
常见模式
延迟加载方式:A+F
预加载方式:B/C/E+I
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!