我正在使用JCS进行缓存,我遇到了一个问题,数据没有写入磁盘,也就是说,没有错误,但当我查看数据文件时,它们在size.Anybody中都是0k,我知道是什么导致了这个错误,我正在使用JCS网站中提供的属性文件。
发布于 2011-12-05 21:19:58
你知道这是个错误吗?也许只有当缓存超过某个限制时,它才会写入磁盘。即,它仅在必要时才写入。
使用Madhu的解决方案:当使用jcs.default.cacheattributes.MaxObjects=0时,文件大小始终为0。删除它,你就可以看到文件中的数据了。
发布于 2013-09-25 04:30:17
其中一个cacheattribute是DiskUsagePatternName。该值可以是交换或更新。交换是默认设置。UPDATE会立即将缓存数据写入磁盘。
在您的cache.ccf中,添加一行
jcs.region.[yourregionid].cacheattributes.DiskUsagePatternName=UPDATE这样,它将在不需要关闭缓存的情况下写入磁盘,您仍然可以获得内存缓存的好处。
磁盘高速缓存仅在高速缓存对象被释放时写入数据。在web应用程序中,我必须显式地调用servlet的销毁()方法中的dispose()。如果您没有调用dispose(),并且没有将磁盘使用模式设置为UPDATE,那么它将不会写入磁盘。
https://stackoverflow.com/questions/8385665
复制相似问题