簡體   English   中英

從Guava Cache中刪除元素

[英]Remove elements from Guava Cache

我正在使用import com.google.common.cache.Cache

我用這種方式啟動了緩存:

private Cache<String,String> mycache =CacheBuilder.newBuilder()
   .concurrencyLevel(4).expireAfterAccess(30, TimeUnit.MINUTES).build();

我願意在等待到期之前在某些情況下手動刪除條目。

我發現這樣做的唯一方法是:

mycache.asMap().remove("somekey");

我在問這是不是這樣做的正確方法? 我有什么問題嗎?

正確的方法是使用invalidate方法:

mycache.invalidate("somekey");

API文檔中所述

void invalidate(Object key)
丟棄關鍵任何緩存值key

您應該使用invalidate(key)方法刪除單個元素。對於批量刪除,您可以使用invalidateAll(keys)方法。

在你的情況下你可以使用

mycache.invalidate("somekey"); 

希望這能解決你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM