【发布时间】:2018-05-03 06:33:54
【问题描述】:
从文档中,我看到:
Ehcache 3 仅在干净关闭的情况下提供持久性 (调用了 close())。如果 JVM 崩溃,则没有数据完整性 保证。重启时,Ehcache 会检测到 CacheManager 没有完全关闭,在使用之前会擦除磁盘存储。
这是否意味着我无法急切地将条目(或我知道肯定已更新的某些条目)刷新到磁盘?
另外,我想知道 close() 挂在哪里?手动kill jvm会触发吗?
谢谢
里昂
【问题讨论】:
从文档中,我看到:
Ehcache 3 仅在干净关闭的情况下提供持久性 (调用了 close())。如果 JVM 崩溃,则没有数据完整性 保证。重启时,Ehcache 会检测到 CacheManager 没有完全关闭,在使用之前会擦除磁盘存储。
这是否意味着我无法急切地将条目(或我知道肯定已更新的某些条目)刷新到磁盘?
另外,我想知道 close() 挂在哪里?手动kill jvm会触发吗?
谢谢
里昂
【问题讨论】:
没有。它不会。但是您可以自己添加一个关闭挂钩。但是,它适用于内存映射文件,并且在发生崩溃的情况下,您永远不会知道当前写入条目的状态。
支持干净保存实际上是一项企业功能。它被称为快速恢复。
请注意,Ehcache 不是存储,它是缓存。因此,快速恢复用于在崩溃后快速加载缓存。否以保存数据。
【讨论】: