![f45ba9872689c5c47370594e39389008.png](https://i-blog.csdnimg.cn/blog_migrate/869fec4a8dc6bfb7760eff4d85296219.jpeg)
简介
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需要JDK1.8、Spring Framework4.0.8以上版本。Spring Boot为可选,需要1.1.9以上版本。如果不使用注解(仅使用jetcache-core),Spring Framework也是可选的,此时使用方式与Guava/Caffeine cache类似。
创建缓存实例
通过@CreateCache注解创建一个缓存实例,默认超时时间是100秒
@CreateCache(expire = 100)private Cache userCache;
用起来就像map一样
UserDO user = userCache.get(123L);userCache.put(123L, user);userCache.remove(123L);
创建一个两级(内存+远程)的缓存,内存中的元素个数限制在50个。
@CreateCache(name = "UserService.userCache