pub struct ResultCache { /* private fields */ }Expand description
LRU cache for query results with memory management
Implementations§
Source§impl ResultCache
impl ResultCache
Sourcepub fn new(max_memory_bytes: usize) -> ResultCache
pub fn new(max_memory_bytes: usize) -> ResultCache
Create a new result cache with max memory limit
Sourcepub fn insert(&mut self, key: CacheKey, data: Vec<u8>, policy: CachePolicy)
pub fn insert(&mut self, key: CacheKey, data: Vec<u8>, policy: CachePolicy)
Insert a result into the cache
Sourcepub fn invalidate_by_dependency(&mut self, dependency: &str)
pub fn invalidate_by_dependency(&mut self, dependency: &str)
Invalidate all entries depending on a table/collection
Sourcepub fn invalidate_where<F>(&mut self, predicate: F)
pub fn invalidate_where<F>(&mut self, predicate: F)
Invalidate entries matching a predicate
Sourcepub fn prune_expired(&mut self)
pub fn prune_expired(&mut self)
Prune all expired entries
Sourcepub fn stats(&self) -> &ResultCacheStats
pub fn stats(&self) -> &ResultCacheStats
Get cache statistics
Auto Trait Implementations§
impl Freeze for ResultCache
impl RefUnwindSafe for ResultCache
impl Send for ResultCache
impl Sync for ResultCache
impl Unpin for ResultCache
impl UnsafeUnpin for ResultCache
impl UnwindSafe for ResultCache
Blanket Implementations§
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request