java - 如何使 Guava 缓存值永久化

标签 java caching guava

是否可以使用 Google Guava 的缓存将我的缓存值永久保留在缓存中?

以下是我构建缓存的方法:

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

我希望我的缓存永久保留该值(当前为 60 分钟)。有什么方法可以实现吗?

最佳答案

只需从构建器中删除expireAfterWrite(它是可选功能):

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

这样只有当达到maximumSize时条目才会被逐出。

Guava 的缓存是 well documented但你可能应该阅读Wiki page也是。

附注如果“永久”是指“重启后仍存在”,Guava Cache 不适合您,因为它是内存缓存。

关于java - 如何使 Guava 缓存值永久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15900557/

相关文章:

c# - 具有 Equals 和 GetHashCode 辅助方法的库,适用于 .NET

java - 将 Jpanel 上的绘图保存为图像

java - 反序列化之前如何验证对象

java - Maven - 在当前项目和插件组中找不到前缀 'tomcat7' 的插件

android - 如何将图像存储在高速缓存中

java - 不缓存的Guava Cache

java - 如何 JUnit 测试两个 List<E> 是否以相同的顺序包含相同的元素?

java - Android Studio,使用另一个 Activity 的变量

html - 利用浏览器缓存 - 外部图像

php - 重定向回同一页面时的 CakePHP 缓存问题