Repository navigation
Releases
1.0.0
The first stable release of Red OHC provides a concurrent, serialized off-heap
cache for Java applications. Key and value bytes live in native memory, a JDK
ConcurrentHashMap indexes entries on the heap, and one maintenance actor owns
eviction, expiry and deferred reclamation.
Included capabilities
- Concurrent get/put/remove, conditional updates, compute and bulk operations.
- Byte-capacity or entry-count eviction targets; S3-FIFO is the default, with LRU and Window TinyLFU selectors.
- Default TTL and per-entry absolute expiry, with expired entries absent from reads.
- Owned deserialized values and callback-scoped direct access to serialized bytes.
- Lifecycle lanes, captured-watermark maintenance flush and reader-protected native reclamation.
- Statistics for lookup, eviction, expiry, native allocation and maintenance progress.
The API reference
defines operation, ownership and failure contracts. The
architecture guide
explains the data and maintenance paths.
Installation
After publication to Maven Central, use this dependency with JDK 11 or later:
<dependency>
<groupId>io.github.red-ead</groupId>
<artifactId>red-ohc-core</artifactId>
<version>1.0.0</version>
</dependency>No extra repository or download credentials are required. Only the parent POM
and core library are published to Central; benchmark tooling remains in the source repository.
See the quick start
for Gradle setup, serializers and the runnable example.
Runtime and integration limits
- Java 11 bytecode uses one production implementation. The CI matrix covers Linux,
macOS and Windows with JDK 11, 17, 21 and 25. The publication record identifies the exact successful run. - A cache has process lifetime and no public
close,stopordestroyAPI. Create
shared caches at startup;clear()removes mappings while retaining cache infrastructure. - Capacity and entry count are asynchronous eviction targets, not physical memory
ceilings. The heap index, allocator pages and reader-delayed reclamation require headroom. flushAsync()completes captured maintenance watermarks. It provides neither
persistence nor an atomic snapshot; cached data is lost when the process exits.- Serialization and materializing returned objects can allocate on the heap.
Direct views may only be used within their callback scope.
The benchmark guide
records the article's sourced two-engine comparison and the separate six-framework
protocol. Those published ratios are not a new measurement of this release.
Long concurrency stress and matched Linux performance remain separate from CI and publication checks.
License
Apache License 2.0. Retained third-party attribution is included in
NOTICE.
Publication verification
Source: c7ccd97
Validated CI: https://github.com/Red-EAD/red-ohc/actions/runs/38576594725
Primary signing key: 8FF6B0A3B17A37185C603B6C7DC86D68A6BB272C
Publication run: https://github.com/Red-EAD/red-ohc/actions/runs/38589789878
Signed parent/core artifacts are published on Maven Central and anonymously verified.
See release-publication.json for artifact SHA-256 checksums.