JetCache is a Java cache abstraction which provides consistent use for various caching solutions.
It provides more powerful annotation than that in Spring Cache. The annotation in JetCache supports native TTL,
two level caching, and distributed automatically refreshment, also you can operate
Cache instance by hand code.
Presently There are four implements:
TairCache(not open source on github),
CaffeineCache (in memory), a simple
LinkedHashMapCache (in memory).
Full features of JetCache:
- Operate cache through consistent Cache API.
- Declarative method caching using annotation with TTL(Time To Live) and two level caching support
- Create & configure
Cacheinstance using annotation
- Automatically collect access statistics for
Cacheinstance and method cache
- The policy of key generation and value serialization can be customized
- Distributed cache automatically refreshment and distributed lock. (2.2+)
- Asynchronous access using Cache API (2.2+, with redis lettuce client)
- Spring Boot support
- Spring Framework4.0.8+ (optional, with annotation support)
- Spring Boot1.1.9+ (optional)
- Getting Started
- Basic Cache API
Cacheinstance using @CreateCache annotation
- Enable method caching using annotation
- Configuration details
- Advanced Cache API
- Redis support (using either of bellows)
Cacheimplements: LinkedHashMapCache and CaffeineCache
Builder API: If you do not use Spring Framework or want to construct
Cacheinstance by hand coding
- Compatibility notes
which artifact should I use?
- jetcache-anno-api: define annotation and constants, no transitive dependencies. If you want to add JetCache annotation to your API artifact without introduce a lot of dependencies, you use jetcache-anno-api.
- jetcache-core: core api, configuration
Cacheinstance by hand coding. It also provide two in-memory implementations
CaffeineCache. It does not depends on Spring.
- jetcache-anno: @CreateCache and @Cached annotation implements.
- jetcache-redis: redis support using jedis client.
- jetcache-redis-lettuce (JetCache2.3+): redis support using lettuce client, implements JetCache asynchronous API.
- jetcache-starter-redis: Spring Boot style starter for redis using jedis.
- jetcache-starter-redis-lettuce (JetCache2.3+): Spring Boot style starter for redis using lettuce.