pub struct TableLruCache { /* private fields */ }Expand description
O(1) slab-based LRU cache for reference table rows.
Uses an FxHashMap<String, usize> for key→slot lookup and a Vec<LruNode>
slab with intrusive doubly-linked list pointers for LRU ordering.
Implementations§
Source§impl TableLruCache
impl TableLruCache
Sourcepub fn get(&mut self, key: &str) -> Option<&RecordBatch>
pub fn get(&mut self, key: &str) -> Option<&RecordBatch>
Look up a key, promoting it to most-recently-used on hit.
Sourcepub fn insert(
&mut self,
key: String,
value: RecordBatch,
) -> Option<(String, RecordBatch)>
pub fn insert( &mut self, key: String, value: RecordBatch, ) -> Option<(String, RecordBatch)>
Insert a key-value pair. Returns the evicted entry if the cache was full.
Sourcepub fn invalidate(&mut self, key: &str) -> bool
pub fn invalidate(&mut self, key: &str) -> bool
Remove a key from the cache. Returns true if it was present.
Sourcepub fn max_entries(&self) -> usize
pub fn max_entries(&self) -> usize
Maximum capacity.
Sourcepub fn hit_rate(&self) -> f64
pub fn hit_rate(&self) -> f64
Cache hit rate as a fraction in [0.0, 1.0]. Returns 0.0 if no gets.
Sourcepub fn total_gets(&self) -> u64
pub fn total_gets(&self) -> u64
Total number of get calls.
Sourcepub fn total_hits(&self) -> u64
pub fn total_hits(&self) -> u64
Total cache hits.
Sourcepub fn total_evictions(&self) -> u64
pub fn total_evictions(&self) -> u64
Total evictions.
Auto Trait Implementations§
impl Freeze for TableLruCache
impl !RefUnwindSafe for TableLruCache
impl Send for TableLruCache
impl Sync for TableLruCache
impl Unpin for TableLruCache
impl UnsafeUnpin for TableLruCache
impl !UnwindSafe for TableLruCache
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.