gpt4 book ai didi

java - JCS Cache关闭,保证持久化到磁盘

转载 作者:搜寻专家 更新时间:2023-10-31 08:04:09 25 4
gpt4 key购买 nike

我正在使用 JCS 进行缓存。现在我正在使用磁盘缓存来临时存储所有数据。问题是当我使用 JCS 时,只有当缓存正确关闭时, key 才会写入磁盘。

我使用磁盘使用模式作为更新,它告诉 JCS 立即将数据写入磁盘而不将其保存在内存中。但问题是我们没有在缓存中维护对象的关键列表。所以我使用组缓存从缓存中访问并获取 key ,然后遍历 key 以获取结果。

所以现在我陷入了必须正确关闭缓存的情况,即在使用索引磁盘缓存将所有数据写入磁盘之后。但是这里有一个复杂性,索引磁盘缓存使用后台线程来写入到不返回任何状态的磁盘。

所以现在,我无法保证索引磁盘缓存已将数据写入磁盘到我的前端实现。有没有办法解决这种情况,因为现在我只是随机 hibernate 一段时间(比如 10 秒) ,在缓存关闭之前,这实际上是一种非常愚蠢的做法。

编辑:我也面临内存缓存的这个问题,但是一秒钟的 sleep 对于 500mb 的数据来说已经足够了。但是磁盘缓存的情况略有不同。

最佳答案

这可能是因为您的对象存储在内存中并等待写入磁盘。如果您需要在执行时立即将对象写入磁盘,那么您需要制作 MaxObjects您的缓存配置到 0 .

jcs.region.<yourRegion>.cacheattributes.MaxObjects=0
jcs.region.<yourRegion>.cacheattributes.DiskUsagePattern=UPDATE

我知道你已经知道了 UPDATE .重新添加以供引用。

关于java - JCS Cache关闭,保证持久化到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8786780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com