簡體   English   中英

如何使番石榴緩存值永久

[英]How to Make guava cache value permanent

是否可以使用Google Guava的緩存將我的緩存值永久保存在緩存中?

以下是我建立快取的方式:

cache = CacheBuilder.newBuilder()               
                .expireAfterWrite(60, TimeUnit.MINUTES)
                .maximumSize(100)
                .build(....);

我希望我的緩存永久保留該值(當前為60分鍾)。 有什么辦法嗎?

只需從構建器中刪除expireAfterWrite (它是可選功能):

cache = CacheBuilder.newBuilder()
            .maximumSize(100)
            .build(....);

這樣,只有在達到maximumSize時,才會驅逐條目。

Guava的Cache有充分的文檔記錄,但您可能也應該閱讀Wiki頁面

PS:如果“永久”是指“重啟后將在那里”,那么Guava Cache不適合您,因為它是內存中的緩存。

只需在builder中更改值:

cache = CacheBuilder.newBuilder()               
            .expireAfterWrite(Long.MAX_VALUE, TimeUnit.DAYS)
            .maximumSize(Long.MAX_VALUE)
            .build(....);

暫無
暫無

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

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