![](https://csdnimg.cn/release/download_crawler_static/86301994/bg5.jpg)
图4-12
这是我们最常⽤的缓存服务架构模式,对于读操作,我们先读缓存,如果缓
存不存在这份数据,则再读数据库,读取数据库后再回写缓存;对于写操
作,我们先写数据库,再写缓存。
这种⽅式实现起来简单,但是对应⽤层不透明,应⽤层需要处理读写顺序的
逻辑,可参考4.4.1节。
2.异步更新
异步更新的架构如图4-13所⽰。在异步更新的⽅式中,应⽤层只读写缓存,
在这种情况下,全量数据会被保存在缓存中,并且不设置缓存系统的过期时
间,由异步的更新服务将数据库⾥变更的或者新增的数据更新到缓存中。也
有通过MySQL的binlog将MySQL中的更新操作推送到缓存的实现⽅法,这种
⽅法和异步更新如出⼀辙,以Facebook的⽅案(请参考论⽂Scaling
Memcache atFacebook)为例,如图4-14所⽰。
图4-13