Ehcache介绍

Ehcache has three storage tiers, summarized here: Memory store – Heap memory that holds a copy of the subset of data from the off-heap store. Subject to Java GC. Off-heap store – Limited in size only by available RAM. Not subject to Java GC. Can store serialized data only. Provides overflow capacity to the memory store. Disk store – Backs up in-memory data and provides overflow capacity to the other tiers. Can store serialized data only

磁盘缓存加载时会把之前磁盘数据加载到OffHeapDiskStore中的map,读取的时候先读OnHeapStore中的map,读不到在读OffHeapDiskStore中的map

Ehcache支持的数据存储包括:
堆内存储 - 利用Java的堆内存来存储缓存条目。使用与Java应用程序相同的由JVM垃圾收集器管理的堆内存。JVM使用的堆空间越多,应用程序性能受到的垃圾收集暂停影响越大。此存储最快但空间最小。
堆外存储 - 只有可用RAM限制大小。不受Java垃圾收集(GC)的影响。它的速度非常快,但比堆内存储要慢,因为数据的存储和重新访问的都要经过堆内存储层。
磁盘存储 - 利用磁盘(文件系统)来存储缓存条目。这种类型的存储资源通常非常丰富,但是比基于ram的存储要慢得多。对于使用磁盘存储的所有应用程序,建议使用一个快速且专用的磁盘来优化吞吐量。
集群存储 - 这个数据存储是远程服务器上的一个缓存。远程服务器可以有选择地提供一个故障转移服务器使可用性更高。集群存储由于网络延迟和建立客户机/服务器一致性等因素而受到性能的惩罚,因此这一层的性能比本地的堆外存储要慢

当将一个值放入缓存时,它会直接转到权威层,这是最底层。
get将在缓存层中向上推送值,并在上层缓存。
一旦将值放入到权威层中,所有更近的缓存层都将失效。
缓存丢失(值不在任何层上)总是会一直向下获取直到权威层

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 6,012评论 0 9
  • 内容目录 JVM 內存使用架构剖析 Spark 1.6.x以前版本内存管理 Spark on Yarn 计算内存使...
    熊_看不见阅读 1,469评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,681评论 1 32
  • 慈心禅 【方法】祝福一切众生远离危难、远离精神的痛苦、远离身体的痛苦与健康快乐 愿我远离危难 愿我远离精神的痛苦 ...
    当下繁花盛开阅读 1,666评论 0 10
  • 黄小仙失恋了,喝醉酒再次见到前男友后拼命的追着车子跑,那段心里独白:“我要追上那辆车,我有话要跟他说。我要问他,我...
    妙檐赞花阅读 312评论 0 0

友情链接更多精彩内容