![](/img/trans.png)
[英]How to get all values from guava LoadingCache without hitting Database everytime
[英]How to get all values from guava LoadingCache without passing any keys
我正在使用Guava LoadingCache來緩存一些結果。 使用load方法我從其他源獲取結果並使用' put(key,value)
'放入緩存。 現在我要解決的問題是:我希望通過傳遞任何鍵來獲取該緩存中的所有可用結果。 因為我有興趣獲取當時緩存中顯示的所有值,而不管任何特定的鍵。
getall(Iterable<?> keys)
或getAllPresent(Iterable<?> keys)
方法,但是那些期望鍵被傳遞。
您可以使用(Loading)Cache#asMap
視圖並對返回的ConcurrentMap
進行操作。 在Guava wiki頁面上有很好的描述:
您可以使用其
asMap
視圖將任何Cache
視為ConcurrentMap
,但asMap
視圖如何與Cache
交互需要一些解釋。
cache.asMap()
包含當前在緩存中加載的所有條目。 因此,例如,cache.asMap().keySet()
包含所有當前加載的鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.