为什么要使用缓存
高性能与高并发
哪些数据适合使用缓存
访问频率高
读多写少
数据一致性要求较低
常用的缓存机制
redis缓存
缓存使用不当所产生的问题及解决策略
缓存穿透问题
概念:缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。在流量大时,可能DB就挂掉了
缓存空对象
布隆过滤器
缓存雪崩问题
概念:缓存雪崩是指在设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,导致所有的查询都落在数据库上,造成了缓存雪崩。
保持缓存的高可用性
限流降级组件
设置缓存不过期
优化缓存过期时间
使用互斥锁重建缓存
异步重建缓存