2016-08-04 98 views
1

我们将身份验证令牌存储在JCS中,重新启动服务器时,缓存上下文丢失。为了解决这个问题,在停止服务器时,决定将JCS值列表存储到一个文件中,并在重新启动时读取该文件并将其存储回JCS。请帮助我将JCS缓存列表存储到文件或任何其他可能的解决方案中。从文件中存储和检索JCS缓存

我无法更改将令牌存储在缓存中的正确实现。

cache = JCS.getInstance("uniqueKey"); 
if (cache.get(key) == null) { 
    cache.put(key, value); 
} 

回答

1

将值存储在缓存中时,可以添加indexedDiskCacheFactory的辅助对象。这会将密钥和数据存储在cache.ccf文件中配置的目录中。 只需添加以下代码段为您cache.ccf:

地区preconfirgured缓存:

jcs.region.outputCache=DC 
jcs.region.outputCache.cacheattributes.DiskUsagePatternName=UPDATE 

索引的磁盘路径

jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory 
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes 
jcs.auxiliary.DC.attributes.DiskPath=d:/cache/dev/raf 
jcs.auxiliary.DC.attributes.MaxKeySize=100000` 

这应该做的伎俩,一旦你重新启动服务器缓存将从文件中获取值。