美好的一天!我可以混合基于时间和基于参考的状态吗?我想要基于 SoftReference 的缓存,生命周期为 5 分钟,我可以从盒子中获取它吗?
您可以将大多数功能组合在一起,除非记录为不兼容。在这些情况下,构建器将引发异常。
Cache<K, V> cache = Caffeine.newBuilder()
.expireAfterWrite(5, TimeUnit.MINUTES) // or Duration.ofMinutes(5)
.softValues()
.build();
请注意,软引用会对垃圾回收器的性能产生影响,并且可能很挑剔。在其他条件相同的情况下,通常首选最大大小。