java
简单分类 1 堆内缓存 例如:基于java Map实现、caffeine(推荐)、Guava
2 堆外缓存 例如:mapDB
3 磁盘缓存 例如:EhCache3、mapDB
4 分布式缓存 例如:redis、memcache
个人理解:
优点:
1.堆内缓存:查询快、更新快
2.堆外缓存:缓存容量不受jvmGC影响
3.本地磁盘缓存:磁盘空间廉价、相对堆内和堆外可以持久化
4.分布式缓存:空间不受限制,可以多处访问
缺点:
1.堆内缓存:缓存数据多,容易引发频繁GC,Java 堆内存限制
2.堆外缓存:在Java 堆内存之外,不受JVM管理,容易造成OOM
3.本地磁盘缓存:查询效率相对1、2慢
4.分布式缓存:查询相对慢、受网络等因素影响
文章如有不足,请多包涵,初来乍到