介绍
在Java里,Caffeine缓存是一个现代化的、高性能的Java缓存库,用起来既方便又快捷。由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。
实例
Caffeine caffeine = Caffeine.newBuilder()
.initialCapacity(3) // 初始化大小
.expireAfterWrite(Duration.ofSeconds(1)) // 设置缓存有效期为 10 秒
.maximumSize(4); // 最大容量
.build();
cache.put("aa", 13);
System.out.println(cache.getIfPresent("aa"));
首先在我们的pom.xml文件中导入依赖
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
Test实例
@Test
void testBasicOps() {
// 创建缓存对象
Cache<String, String> cache = Caffeine.newBuilder().build();
// 存数据
cache.put("book", "红楼梦");
// 取数据,不存在则返回null
String gf = cache.getIfPresent("book");
System.out.println("book = " + gf);
// 取数据,不存在则去数据库查询
String defaultGF = cache.get("defaultBook", key -> {
// 这里可以去数据库根据 key查询value
return "水浒传";
});
System.out.println("defaultBook = " + defaultGF);
}