2016-08-04 66 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` 

這應該做的伎倆,一旦你重新啓動服務器緩存將從文件中獲取值。