缓存概述
- 缓存:CPU上一种高速存储器,它先于内存与CPU交换数据,速度很快
- 使用场景:
- DB缓存,减轻DB服务器压力
- 提高系统响应
- session分离
- 分布式锁
- 乐观锁
- 缓存的优势
- 提升用户体验
- 减轻服务器压力
- 提升系统性能
- 缓存的代价
- 额外的硬件支出
- 高并发缓存失效
- 缓存与数据库数据同步
- 缓存并发竞争
缓存的读写模式
-
旁路缓存(Cache Aside Pattern)
读的时候先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应
更新时候先更新数据库,然后再删除缓存
高并发脏读的三种情况:
a.先更新数据库,再更新缓存
b.先删除缓存,再更新数据库
c. 先更新数据库,再删除缓存(推荐,采用延时双删) -
穿透模式/直读直写模式(Read/Write Through Pattern)
应用程序只操作缓存,缓存操作数据库 -
后写缓存模式(Write Behind Caching Pattern)
应用只更新缓存,缓存通过异步方式将数据批量合并后更新到DB中,不能随时同步,甚至丢失数据