1.哪些场景用了缓存?
除了用redis做缓存,两个项目里其实蛮多地方都用到了缓存(这部分后续补充添加)
2.为什么要用缓存?
高性能和高并发
**高性能:**一般都是读多写少,用缓存可以避免频繁从数据库读取,频繁磁盘io,加快速度; 内存的读取速度很快 提高性能; 如果数据变化,那么要修改对应缓存里的值; 复杂查询结果比较耗时,结果放到缓存里 提升性能
**高并发:**数据访问量大的时候,都走数据库读取,可能数据库承受不住,会宕机;缓存是走内存的,速度更快; 数据库处理并发请求慢一点
四分之三的放缓存,四分之一的放数据库
3.用了缓存可能产生不良后果?
1.缓存和数据库数据不一致,双写不一致(这块后面会有文章总结)
2.缓存雪崩
放到redis部分总结
3.缓存穿透
放到redis部分总结
4.缓存并发竞争的数据一致性(这块后面会有文章总结)