一、简介
JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。 当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory),要添加新的实现也是非常简单的。
全部特性:
- 通过统一的API访问Cache系统
- 通过注解实现声明式的方法缓存,支持TTL和两级缓存
- 通过注解创建并配置
Cache实例 - 针对所有
Cache实例和方法缓存的自动统计 - Key的生成策略和Value的序列化策略是可以配置的
- 分布式缓存自动刷新,分布式锁 (2.2+)
- 异步Cache API (2.2+,使用Redis的lettuce客户端时)
- Spring Boot支持
JetCache和Spring Cache方案对比
| 特性 | Spring Cache | JetCache |
|---|---|---|
| 多级缓存支持 | ❌ | ✅ |
| 自动刷新机制 | ❌ | ✅ |
| 注解灵活性 | 一般 | 极高(支持TTL、key策略等) |
| 分布式锁能力 | ❌ | ✅ |
Spring/SpringBoot兼容性和版本选型
JetCache需要JDK1.8、Spring Framework4.0.8以上版本。Spring Boot为可选,需要1.1.9以上版本。如果不使用注解(仅使用jetcache-core),Spring Framework也是可选的,此时使用方式与Guava/Caffeine cache类似。
JetCache在以下spring/spring-boot版本下通过了测试,如果你只用部分功能或者能自己调整依赖的的话,适用范围还可以更大一些。
| JetCache | spring版本 | spring boot版本 | 说明 |
|---|---|---|---|
| 2.5 | 4.0.8.RELEASE~ 5.1.1.RELEASE |
1.1.9.RELEASE~ 2.0.5.RELEASE |
|
| 2.6 | 5.0.4.RELEASE~ 5.2.4.RELEASE |
2.0.0.RELEASE~ 2.2.5.RELEASE |
jetcache-redis依赖jedis3.1.0,spring-data(jedis,boot版本<=2.1.X)依赖jedis2.9.3,不能同时用 |
| 2.7 | 5.2.4.RELEASE~ 5.3.22 |
2.2.5.RELEASE~2.7.2 | jetcahe-redis依赖jedis4,spring-data(jedis)依赖jedis3,不能同时用 |
官网:https://github.com/alibaba/jetcache
官方文档:

最低0.47元/天 解锁文章
1991

被折叠的 条评论
为什么被折叠?



