使用Google Guava的高速緩存可以將緩存的值永久保存在高速緩存中嗎?如何使番石榴高速緩存值永久
下面是我如何建立我的緩存:
cache = CacheBuilder.newBuilder()
.expireAfterWrite(60, TimeUnit.MINUTES)
.maximumSize(100)
.build(....);
我想我的緩存保持永久值(目前是60分鐘)。有沒有這樣做的方法?
使用Google Guava的高速緩存可以將緩存的值永久保存在高速緩存中嗎?如何使番石榴高速緩存值永久
下面是我如何建立我的緩存:
cache = CacheBuilder.newBuilder()
.expireAfterWrite(60, TimeUnit.MINUTES)
.maximumSize(100)
.build(....);
我想我的緩存保持永久值(目前是60分鐘)。有沒有這樣做的方法?
只是刪除從建設者expireAfterWrite
(這是可選功能):
cache = CacheBuilder.newBuilder()
.maximumSize(100)
.build(....);
這樣的項目,纔會達到MAXIMUMSIZE只有當被驅逐。
番石榴的高速緩存是well documented,但你也應該讀Wiki page。
P.S.如果通過「永久」,你的意思是「重新啓動後會在那裏」,由於Guava Cache在內存中緩存,它不適合你。
在建設者只需更改值:
cache = CacheBuilder.newBuilder()
.expireAfterWrite(Long.MAX_VALUE, TimeUnit.DAYS)
.maximumSize(Long.MAX_VALUE)
.build(....);
感謝瓦赫....我只是沒有足夠的聲譽來解除您的答案...它的解決方案也... – Buckzm 2013-04-10 09:26:38
另一個肯定是更好:)我只是把它作爲一種「黑客攻擊」的一般方式「時間限制。 – 2013-04-10 10:16:23