我正在使用 JCS 进行缓存。现在我正在使用磁盘缓存来临时存储所有数据。问题是当我使用 JCS 时,只有在缓存正确关闭时才会将密钥写入磁盘。
我使用磁盘使用模式作为更新,它告诉 JCS 立即将数据写入磁盘而不将其保存在内存中。但问题是我们没有维护缓存中对象的键列表。所以我使用组缓存访问并获取缓存中的键,然后遍历键以获取结果。
所以现在我陷入了一种情况,我必须正确关闭缓存,即在使用索引磁盘缓存将所有数据写入磁盘之后。但是这里有一个复杂性,索引磁盘缓存使用后台线程写入磁盘不返回任何关于其状态的内容。
所以现在,我无法保证索引磁盘缓存已将数据写入磁盘到我的前端实现。有没有办法解决这种情况,因为现在我只是在睡一些随机时间(比如 10 秒),在缓存已关闭,实际上这是一种非常愚蠢的做法。
编辑:我也面临内存缓存的这个问题,但是一秒钟的睡眠对于 500mb 的数据来说已经足够了。但是磁盘缓存的情况略有不同。