Backend Cache Manager Implementations

The following backend cache manager implementations are provided by this crate:

cacache

cacache is a high-performance, concurrent, content-addressable disk cache, optimized for async APIs. Provides traditional buffered caching. Now opt-in (no longer the default); its upstream is dormant/unmaintained.

moka

moka is a fast, concurrent cache library inspired by the Caffeine library for Java. Provides in-memory caching with traditional buffering.

foyer

foyer is a hybrid in-memory + disk cache that provides configurable eviction strategies (w-TinyLFU, S3-FIFO, SIEVE), optional disk storage, request deduplication, and Tokio-native async operations.

redb

redb is a simple, portable, pure-Rust embedded key/value database. RedbManager provides traditional buffered, persistent caching with no async runtime dependency — making it the recommended persistent backend for non-tokio clients such as smol-based http-cache-ureq or runtimes like Bevy. Now the default cache manager.

quick_cache

quick_cache is a lightweight and high performance concurrent cache optimized for low cache overhead. Provides traditional buffered caching operations.

streaming_cache

StreamingManager uses an embedded redb database for metadata and raw files on disk for response bodies, with moka as an in-memory hot cache for metadata. Streams cached responses from disk in 64KB chunks without buffering entire bodies in memory. Ideal for large responses and long-lived caches that must survive restarts.