cache2k / Cache2k
Licence: apache-2.0
Lightweight, high performance Java caching
Stars: ✭ 473
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Cache2k
Kingfisher
A lightweight, pure-Swift library for downloading and caching images from the web.
Stars: ✭ 19,512 (+4025.16%)
Mutual labels: cache
Memento
Memento is a development-only tool that caches HTTP calls once they have been executed.
Stars: ✭ 380 (-19.66%)
Mutual labels: cache
Libmc
Fast and light-weight memcached client for C++ / #python / #golang #libmc
Stars: ✭ 429 (-9.3%)
Mutual labels: cache
Libshmcache
libshmcache is a local cache in the share memory for multi processes. high performance due to read is lockless. libshmcache is 100+ times faster than a remote interface such as redis.
Stars: ✭ 385 (-18.6%)
Mutual labels: cache
Ledge
An RFC compliant and ESI capable HTTP cache for Nginx / OpenResty, backed by Redis
Stars: ✭ 412 (-12.9%)
Mutual labels: cache
Foshttpcachebundle
Use the FOSHttpCache library in your Symfony projects
Stars: ✭ 383 (-19.03%)
Mutual labels: cache
Ring
Python cache interface with clean API and built-in memcache & redis + asyncio support.
Stars: ✭ 404 (-14.59%)
Mutual labels: cache
React Query
⚛️ Hooks for fetching, caching and updating asynchronous data in React
Stars: ✭ 24,427 (+5064.27%)
Mutual labels: cache
Edgedns
A high performance DNS cache designed for Content Delivery Networks
Stars: ✭ 423 (-10.57%)
Mutual labels: cache
Rxcache
简单一步,缓存搞定。这是一个专用于 RxJava,解决 Android 中对任何 Observable 发出的结果做缓存处理的框架
Stars: ✭ 377 (-20.3%)
Mutual labels: cache
Intel Cmt Cat
User space software for Intel(R) Resource Director Technology
Stars: ✭ 400 (-15.43%)
Mutual labels: cache
Lada Cache
A Redis based, fully automated and scalable database cache layer for Laravel
Stars: ✭ 424 (-10.36%)
Mutual labels: cache
Eightpointsguzzlebundle
⛽️ Integrates Guzzle 6.x, a PHP HTTP Client, into Symfony
Stars: ✭ 407 (-13.95%)
Mutual labels: cache
cache2k Java Caching
cache2k is an in-memory high performance Java Caching library.
Cache<String,String> cache = new Cache2kBuilder<String, String>() {}
.expireAfterWrite(5, TimeUnit.MINUTES) // expire/refresh after 5 minutes
.setupWith(UniversalResiliencePolicy::enable, b -> b // enable resilience policy
.resilienceDuration(30, TimeUnit.SECONDS) // cope with at most 30 seconds
// outage before propagating
// exceptions
)
.refreshAhead(true) // keep fresh when expiring
.loader(this::expensiveOperation) // auto populating function
.build();
For a detailed introduction continue with Getting Started.
Features at a glance
- Small jar file (less than 400k) with no external dependencies
- Fastest access times, due to non blocking and wait free access of cached values, Blog article
- Pure Java code, no use of
sun.misc.Unsafe - Thread safe, with a complete set of atomic operations
- Resilience and smart exception handling
- Null value support, see User Guide - Null Values
- Automatic Expiry and Refresh: duration or point in time, variable expiry per entry, delta calculations
- CacheLoader with blocking read through, see User Guide - Loading and Read Through
- CacheWriter
- Event listeners
- Refresh ahead reduces latency
- Low Overhead Statistics and JMX support
- Separate API with stable and concise interface
- complete JCache / JSR107 support
- XML based configuration, to separate cache tuning from logic
Integrations
- Spring Framework
- Scala Cache
- Datanucleus (via JCache)
- Hibernate (via JCache)
- .... and probably more, please raise an issue and get it listed!
More...
For more documentation and latest news, see the cache2k homepage.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].
