双写不一致

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11480550.html

 

更新缓存的4中设计模式

  • Cache aside
  • Read through
  • Write through
  • Write behind caching

 

Cache aside

失效:应用程序先从cache取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。

命中:应用程序从cache中取数据,取到后返回。

更新:先把数据存到数据库中,成功后,再让缓存失效。

 

Read through 

Read through 套路就是在查询操作中更新缓存,也就是说,当缓存失效的时候(过期或LRU换出),Cache Aside是由调用方负责把数据加载入缓存,而Read Through则用缓存服务自己来加载,从而对应用方是透明的。

 

Write through(直写模式)

在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较慢。

 

Write behind caching(回写模式)

在更新数据的时候,只更新缓存,不更新数据库,只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。此模式的优点是数据写入速度快,因为不需要写存储;缺点是一旦更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回。

 

Reference

https://coolshell.cn/articles/17416.html

 

posted @ 2019-09-07 14:10  李白与酒  阅读(552)  评论(0编辑  收藏  举报