缓存模式(Cache Aside、Read Through、Write Through、Write Behind)

本文介绍了四种缓存模式:Cache Aside、Read Through、Write Through和Write Behind。Cache Aside是最常用的缓存模式,读操作首先检查缓存,若未命中则从数据库获取并存入缓存。更新操作时,可以选择删除缓存条目或同步更新。Read-Through模式中,缓存负责从数据库获取数据。Write Through模式确保每次写操作都同步到数据库。Write Behind模式异步写入数据库,降低延迟但可能导致短暂的数据不一致。
摘要由CSDN通过智能技术生成

概览

缓存是一个有着更快的查询速度的存储技术,这里的更快是指比起从初始的数据源查询(比如数据库,以下都称作数据库)而言。我们经常会把频繁请求的或是耗时计算的数据缓存起来,在程序收到请求这些数据的时候可以直接从缓存中查询数据返回给客户端来提高系统的吞吐量,现在我们来看看有哪些缓存模式可以考虑。

Cache-Aside

Cache-Aside 是最广泛使用的缓存模式之一,如果能正确使用 Cache-Aside 的话,能极大的提升应用性能, Cache-Aside 可用来读或写操作。

读操作

我们先来看下读操作的数据流:

  • 1、程序接收数据查询的请求
  • 2、程序检查要查询的数据是否在缓存上
    • 如果存在(cache hit),从缓存上查询出来
    • 如果不存在(cache miss),从数据库中检索数据并存入缓存中
  • 3、程序返回要查询的数据

在Spring中,可如下实现,当 getRecordForSearch() 方法被调用的时候,如果缓存中存在对应key的数据,那就会自动的从缓存中获取(此时方法体不会被执行),当缓存中不存在key对应数据的时候,会执行方法体从数据库中查询数据并设置到缓存中去。

@Cacheable("default&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值