简单介绍
Caffeine是新出现的一个高性能的Java缓存,有了它完全可以代替Guava Cache,来实现更加高效的缓存;Caffeine采用了W-TinyLFU回收策略,集合了LRU和LFU的优点,提供了一个最佳的命中率,在效率上可以秒杀Guava Cache,下面盗取一个来自网络的性能比较的截图:
如何使用
Caffeine使用非常简单,跟Guava Cache的API使用几乎一致,下面就话不多说直接,进入代码使用和学习中。
手动加载 import java.util.concurrent.TimeUnit; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; public class CaffeineManualLoadTest { public static void main(String[] args) { // 手动加载 Cache manualCache = Caffeine.newBuilder() .expireAfterWrite(5, TimeUnit.SECONDS) .build(); String key = "test1"; // 根据key查询一个缓存,如果没有则调用createTestValue方法将返回值写到缓存 // 如果createTestValue方法返回空,则get方法返回空 // 如果createTestVal