繁体   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