Struct nebari::ChunkCache
source · [−]pub struct ChunkCache { /* private fields */ }Expand description
A configurable cache that operates at the “chunk” level.
While writing databases, individual portions of data are often written as a single chunk. These chunks may be stored encrypted on-disk, but the in-memory cache will be after decryption.
To keep memory usage low, the maximum size for a cached value can be set. It is important that this value be large enough to fit most B-Tree nodes, and that size will depend on how big the tree grows.
Implementations
Create a new cache with a maximum number of entries (capacity) and
max_chunk_length. Any chunks longer than max_chunk_length will not
be cached. The maximum memory usage of this cache can be calculated as
capacity * max_chunk_length, although the actual memory usage will
likely be much smaller as many chunks are small.
Adds a new cached chunk for file_path at position.
pub fn replace_with_decoded<T: AnySendSync + 'static>(
&self,
file_id: u64,
position: u64,
value: T
)
pub fn replace_with_decoded<T: AnySendSync + 'static>(
&self,
file_id: u64,
position: u64,
value: T
)
Adds a new cached chunk for file_path at position.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ChunkCache
impl Send for ChunkCache
impl Sync for ChunkCache
impl Unpin for ChunkCache
impl !UnwindSafe for ChunkCache
Blanket Implementations
Mutably borrows from an owned value. Read more