使っていますimport com.google.common.cache.Cache
私は次のようにキャッシュを開始しました:
private Cache<String,String> mycache =CacheBuilder.newBuilder()
.concurrencyLevel(4).expireAfterAccess(30, TimeUnit.MINUTES).build();
いくつかのシナリオでは、有効期限を待つ前にエントリを手動で削除しても構いません。
私が見つけた唯一の方法はこれです:
mycache.asMap().remove("somekey");
これが正しいやり方なのかと尋ねています。それで何か問題が起きるでしょうか?
ベストアンサー1
適切な方法は次のメソッドを使用することですinvalidate
:
mycache.invalidate("somekey");
規定に従ってAPIドキュメント:
void invalidate(Object key)
キーのキャッシュされた値をすべて破棄しますkey
。