缓存简介
使用缓存目的
让数据更接近使用者,提高数据的读写效率
什么数据适合缓存
热点数据,数据的访问周期在5分钟以内,则存放在内存中,否则应该存放在硬盘中。
查询性能瓶颈数据,I/O和CPU瓶颈,会造成慢查询的数据。
缓存回收策略
http缓存
策略
根据是否需要重新向服务器发起请求来分类,可分为强制缓存,协商缓存
实际使用中,多通过服务器给报文头加参数
强制缓存
对比缓存
redis缓存
什么时候用redis
分布式锁,提高查询性能,并发能力
为什么用redis
数据结构丰富,支持持久化,支持集群,效率高;有强一致性要求的,不建议放缓存
java应用缓存
什么时候用应用缓存
1.高并发,减轻后端压力
2.数据一致性要求不高
应用缓存有哪些
应用缓存 | 堆内缓存 | 堆外缓存 | 磁盘缓存 |
---|---|---|---|
Guava Cache | √ | × | × |
Ehcache | √ | √ | √ |
mybatis缓存
应用缓存 | 是否开启 | 作用域 |
---|---|---|
一级缓存 | 默认 | sqlsession |
二级缓存 | 手动 | namespace |
一级缓存
二级缓存
数据库缓存