alibaba/jetcache

JetCache is a Java cache framework.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 minute ago
Added to GitGenius on September 12th, 2026
Created on April 12th, 2017
Open Issues & Pull Requests: 428 (+0)
GitHub issues: Enabled
Number of forks: 1,085
Total Stargazers: 5,614 (+0)
Total Subscribers: 172 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.0 hours
Mean response time: 20.3 days
90th percentile: 26.5 days
Tracked items: 78

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 98% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 5% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 754 days
Stale 30+ days: 61
Stale 90+ days: 60

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

JetCache is a Java cache abstraction framework that provides uniform usage across different caching solutions with powerful annotation-driven features.

JetCache solves the problem of managing caches across heterogeneous backends by offering a single API and annotation model that works with Redis, Caffeine, Tair, and simple in-memory implementations. It abstracts away backend-specific details while adding capabilities beyond standard Spring Cache annotations, including native time-to-live configuration, two-level caching that combines local and remote stores, and automatic refresh in distributed environments. Developers can either use declarative annotations like @Cached, @CacheUpdate, and @CacheInvalidate on methods, or manipulate Cache instances directly through a programmatic API.

Teams should adopt JetCache when they need flexible caching strategies that go beyond single-backend solutions or when they require features like distributed cache refresh, cross-JVM cache invalidation, or two-level caching to balance latency and consistency. It suits projects already using Spring Framework or Spring Boot where annotation-driven caching fits the architecture. The framework supports customizable key generation and value serialization strategies, with built-in support for multiple JSON libraries and encoding formats. Asynchronous cache access is available for non-blocking operations, and distributed locking primitives help prevent cache stampedes.

Development on the project shows consistent maintenance with regular feature additions across releases. The codebase demonstrates attention to distributed system concerns through features like automatic cache refresh and cross-process invalidation. The framework has evolved to support modern Java versions and Spring versions while maintaining backward compatibility for earlier releases. Documentation is maintained in English alongside the primary language, indicating effort toward accessibility for international users.