系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
缓存里面存储的数据
- 朴素类型的数据:如int
- 序列化的对象:如User对象
- 文本数据:如json,xml
Cache Aside Pattern的读实践
访问缓存,如果miss则读库,并将结果写入缓存
Cache Aside Pattern的写实践
缓存失效和修改有什么区别
- 缓存失效,下一次读缓存会cache miss
- 缓存修改,下一次读缓存会cache hit,但是修改步骤可能会较为复杂
不同类型存储数据的修改:
- 朴素类型直接修改
- 对象类型需要反序列化为对象再修改对应的属性,再序列化存储起来
- 文本类型需要读取文本,之后解析为dom树,修改之后再转化为文本存储
修改的代价过高
写实践的两点原则:
- 使用淘汰缓存而不是修改缓存
- 先操作数据库再操作缓存