缓存回收策略:
1.基于空间,比如10M
2.TTL,比如设置过期时间,惰性删除
3.TTI,多久没被访问后删除
4.弱引用(强软弱虚)
回收算法
FIFO,LRU(掌握原理,链表+哈希),LFU
Java缓存类型
1.堆缓存(guava)
优点:没有序列化与反序列化,最快
缺点:受堆内存大小限制,不能设置太大,会影响GC
2.堆外缓存(Ehcache)
优点:堆外对象不会影响GC
缺点:需要序列化反序列化,比堆缓存慢
3.磁盘缓存
优点:数据持久化
缺点:比较慢
4.分布式缓存
优点:容量大
缺点:需要引入Redis等中间件,增加系统复杂度
缓存使用模式实践
1.空对象模式,避免缓存击穿
2.Cache-Aside
读:
写:
<