为什么使用缓存?
以空间换时间。(其他的应用:索引,CDN,数据库表冗余字段)
本地缓存
本地缓存速度快,没有网络开销。
缓存所需功能:过期时间、淘汰机制、命中率统计
部分本地缓存框架:spring cache、guava cache ---->caffine
优点:轻量,简单
缺点:与服务器耦合,不适用于分布式架构
受本地机器内存限制
分布式缓存
缺点:系统复杂性增加、系统开发成本增加。
多级缓存
适用场景:数据不会频繁修改,访问量特别大比如秒杀场景
如何保证数据一致性:
canal+广播消息 --->最终一致性