1

認証トークンを JCS に保存しています。サーバーを再起動すると、キャッシュ コンテキストが失われます。これを克服するために、サーバーを停止するときに JCS の値のリストをファイルに保存し、再起動時にファイルを読み取って JCS に保存することにしました。JCSキャッシュリストをファイルまたはその他の可能な解決策に保存するのを手伝ってください。

トークンをキャッシュに保存しないという正しい実装を変更することはできません。

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

1 に答える 1

1

キャッシュに値を保存する際に、indexedDiskCacheFactory の補助を追加できます。これにより、cache.ccf ファイルで構成されたディレクトリにキーとデータが保存されます。次のスニペットを cache.ccf に追加するだけです。

キャッシュ用に事前構成されたリージョン:

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`

これで問題は解決し、サーバーを再起動すると、キャッシュはファイルから値を取得します。

于 2016-09-10T11:53:11.667 に答える