系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
缓存里面存储的数据
- 朴素类型的数据:如int
- 序列化的对象:如User对象
- 文本数据:如json,xml
Cache Aside Pattern的读实践
访问缓存,如果miss则读库,并将结果写入缓存

Cache Aside Pattern的写实践
缓存失效和修改有什么区别
- 缓存失效,下一次读缓存会cache miss
- 缓存修改,下一次读缓存会cache hit,但是修改步骤可能会较为复杂
不同类型存储数据的修改:
- 朴素类型直接修改
- 对象类型需要反序列化为对象再修改对应的属性,再序列化存储起来
- 文本类型需要读取文本,之后解析为dom树,修改之后再转化为文本存储
修改的代价过高
写实践的两点原则:
- 使用淘汰缓存而不是修改缓存
- 先操作数据库再操作缓存

为什么是淘汰缓存而不是修改缓存,除了上面提到的修改成本高之外,修改缓存还可能会造成数据不一致的情况:

本文是博主对《架构师训练营》中沈剑分享的笔记,主要探讨了缓存中存储的数据类型及Cache Aside Pattern的读写实践。在读实践中,若缓存未命中则从数据库读取并回填缓存;写实践强调先操作数据库再淘汰缓存,以避免并发导致的数据不一致问题。
最低0.47元/天 解锁文章
1163

被折叠的 条评论
为什么被折叠?



