JCS 磁盘缓存问题
我正在使用 JCS 进行缓存,并且遇到一个问题,即数据未写入磁盘,即没有出现错误,但是当我查看数据文件时,它们的大小都是 0k。任何人都知道是什么原因造成的出现此错误,我正在使用 JCS 网站中提供的属性文件。
I am using JCS for caching purposes and I am experiencing an issue where the data is not written to a disk,i.e no error is coming,but when I look at the data files,they are all 0k in size.Anybody know what is causing this error,I am using the properties file provided in the JCS web site.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
缓存属性之一是 DiskUsagePatternName。该值可以是 SWAP 或 UPDATE。交换是默认值。 UPDATE 立即将缓存数据写入磁盘。
在你的cache.ccf中添加一行
这样它将写入磁盘而不需要关闭缓存,并且你仍然可以获得内存缓存的好处。
磁盘缓存仅在缓存对象被释放时写入数据。在 Web 应用程序中,我必须在 servlet 的 destroy() 方法中显式调用 dispose()。如果您不调用 dispose() 并且没有将磁盘使用模式设置为 UPDATE,它将不会写入磁盘。
One of the cacheattributes is DiskUsagePatternName. The value can either be SWAP or UPDATE. SWAP is the default. UPDATE writes the cache data to disk right away.
In your cache.ccf add a line for
That way it will write to disk without needing to shutdown the cache and you can still get the benefits of the memory cache.
The disk cache only writes the data when the cache object is disposed. In a web application I had to explicily call dispose() in the destroy() method of my servlet. If you don't call dispose() and don't have have the disk usage pattern set to UPDATE it won't write to disk.
你知道这是一个错误吗?也许只有当缓存超过某个限制时才会写入磁盘。即它只在必要时才写入。
使用Madhu的解决方案:当
jcs.default.cacheattributes.MaxObjects=0
时,文件大小将始终为0。删除它,您可以看到文件中的数据。Do you know its an error? Perhaps it only writes to disk when the cache is over some limit. i.e. it only writes when it has to.
Using Madhu's solution: When
jcs.default.cacheattributes.MaxObjects=0
the file size will always be 0. Remove this and you can see data in the files.