jfinal3.3支持最新的org.ehcache3.5.2吗?

我想实现ehcache把缓存持久化到硬盘去,可是版本ehcache-2.6.11重启程序之后,会把之前的索引删掉了。所以很迷茫。请问有什么好的建议,可以把数据缓存到硬盘中呢?

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false"
	monitoring="autodetect" dynamicConfig="true" maxBytesLocalDisk="5G" >

	<diskStore path="d:\temp" />
	
	<!-- 30天(d)=2592000秒(s) -->
	<cache name="30time" maxElementsInMemory="1" overflowToDisk="true"
		eternal="false" timeToIdleSeconds="2592000"
		diskSpoolBufferSizeMB="30" memoryStoreEvictionPolicy="LFU"
		diskPersistent="true" diskExpiryThreadIntervalSeconds="120"
		transactionalMode="off" maxElementsOnDisk="0" />


评论区

JFinal

2018-03-30 20:09

在 ehcache.xml 中添加一个配置就好:
diskPersistent="true"

至少 jfinal 3.3 现在依赖的 ehcache-2.6.6 是支持的

fmpoffice

2018-03-30 20:31

@JFinal 我贴上了配置,有diskPersistent的了,但是一重启,就会把.index的删掉了,很诡异的ehcahe。

fmpoffice

2018-03-30 20:32

@JFinal 再请教一下,如果我想把结果缓存到硬盘,请问还有什么好用类似ehcache的插件吗?

JFinal

2018-03-30 20:33

去掉 maxElementsOnDisk="0" 这个配置试试

JFinal

2018-03-30 20:34

注意重启 tomcat 的时候用命令行:
shutdown.sh
shutdown.bat

不要强行 kill 杀进程,确保 ehcache 写回数据

JFinal

2018-03-30 20:35

@fmpoffice 一直用的 ehcache 缓存数据到硬盘,从没出过问题

现在做项目新的方案是将所有数据放数据库,ehcache 仅仅起一个提速的作用,当 ehcache 中没有数据的时候去数据库读

JFinal

2018-03-30 20:36

@fmpoffice 看一下你手头的 club 项目源码,里头有一个 session 表,ehcache 也对 Session 对象进行了缓存,但持久化是放数据库中的

建议放数据库,不仅仅有利于持久化,而且方便做集群与分布式

fmpoffice

2018-03-30 20:40

@JFinal 嗯,明白,我还是看看怎么处理,缓存到数据库吧。谢谢您的指点。kill我也测试一下,谢谢

热门反馈

扫码入社