Expand description
In-memory block cache — L1/L2 hot cache above a backing BlockStore
§Overview
Two public cache abstractions are provided:
BlockCache— a standalone LRU cache (pure in-memory, no backing store).CachedBlockStore<S>— a two-level cache that wraps anyBlockStore(L2) with an in-process LRU cache (L1). Stats are tracked with lock-free atomics.
A tiered variant (TieredCachedBlockStore) is also available for workloads
that benefit from separate hot/warm tiers.
Structs§
- Block
Cache - Standalone in-memory LRU cache for blocks.
- Cache
Config - Configuration for
CachedBlockStore. - Cache
Stats - Live, lock-free counters for a
CachedBlockStore. - Cache
Stats Snapshot - A serialisable, cloneable point-in-time view of
CacheStats. - Cached
Block Store - A two-level cache that wraps any
BlockStore(L2) with an in-process LRU cache (L1). - Legacy
Cache Stats - Plain-data statistics snapshot returned by
BlockCache::stats. - Tiered
Block Cache - Multi-level in-process cache with hot (L1) and warm (L2) tiers.
- Tiered
Cache Stats - Statistics snapshot for
TieredBlockCache. - Tiered
Cached Block Store - A
BlockStorewrapper that uses aTieredBlockCache(hot L1 + warm L2) in front of any backing store.