4

我正在使用 JCS 进行缓存,并且遇到了数据未写入磁盘的问题,即没有错误出现,但是当我查看数据文件时,它们的大小都是 0k。任何人都知道是什么原因造成的这个错误,我正在使用 JCS 网站中提供的属性文件。

4

2 回答 2

3

缓存属性之一是 DiskUsagePatternName。该值可以是 SWAP 或 UPDATE。交换是默认值。UPDATE 立即将缓存数据写入磁盘。

在你的 cache.ccf 添加一行

jcs.region.[yourregionid].cacheattributes.DiskUsagePatternName=UPDATE

这样,它将写入磁盘而无需关闭缓存,您仍然可以获得内存缓存的好处。

磁盘缓存仅在缓存对象被释放时才写入数据。在 Web 应用程序中,我必须在我的 servlet 的 destroy() 方法中显式调用 dispose()。如果您不调用 dispose() 并且没有将磁盘使用模式设置为 UPDATE,它将不会写入磁盘。

于 2013-09-24T20:30:16.797 回答
1

你知道这是一个错误吗?也许它只在缓存超过某个限制时才写入磁盘。即它只在需要时才写。

使用 Madhu 的解决方案:当jcs.default.cacheattributes.MaxObjects=0文件大小总是为 0 时。删除它,您可以看到文件中的数据。

于 2011-12-05T13:19:57.797 回答