performance - EhCache数据到磁盘无需flush

标签 performance persistence ehcache

您好,我有一个特定的任务需要在 EhCache 中解决,但我无法实现它。

我想建立一个“永久缓存”,它将在内存中保存少量项目供即将使用,其余部分将保留在磁盘上。我通常在多个线程中将数据写入缓存,并希望这些项目始终保留在磁盘上,以便即使在重新启动后也可以使用它们。

<cache name="eternal_cache" maxBytesLocalHeap="1%" maxBytesLocalDisk="2G"
       eternal="false" timeToLiveSeconds="0"
       timeToIdleSeconds="120" overflowToDisk="true"
       diskPersistent="true" memoryStoreEvictionPolicy="LFU"
       transactionalMode="off"/>

基本上我想要 EhCache 中的持久性功能,该功能是通过 定义的,但有大小限制,持久性不允许。

我遇到了这样的问题:通过我的配置,我的内存中有项目,但如果没有正确关闭,ehcache 管理器会丢失我的数据。我读到了有关flush()的内容,但它会将项目保留在磁盘上,但我至少希望内存中存在一些数据。

请有人告诉我如何根据我的需要配置缓存?

最佳答案

阅读官方手册后,我找到了解决方案。

只能使用 Ehcache 持久化策略进行持久化,但在企业版中是这样的。

在普通版本中,只能通过调用flush()shutdown()来实现。

关于performance - EhCache数据到磁盘无需flush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15437487/

相关文章:

java - 黑白 Hibernate 的 Sessionfactory.getCurrentSession() 和 SessionFactory.openSession() 的区别

spring - Spring Cache Abstraction 和 Hibernate EHCache 哪个最好?

java - 不能做二级缓存

java - 使用@Cacheable注解时加载ApplicationContext失败

php - 存储每日页面浏览量以及总数的最有效方式

c++ - 要自定义消息框,我应该挂接消息框还是使用 CreateWindowEx 来创建一个模仿?

sql - 缓存 SQL 执行计划

java - 快速排序-枢轴选择策略如何影响快速排序的整体Big-oh行为?

nhibernate - 在 nHibernate 中持久化是什么意思?

python - pickle 和复制持久对象的类?