pub struct QueryResultCache { /* private fields */ }Expand description
Query result cache with fingerprint-based keys
Implementations§
Source§impl QueryResultCache
impl QueryResultCache
Sourcepub fn new(config: CacheConfig) -> Self
pub fn new(config: CacheConfig) -> Self
Create a new query result cache
Sourcepub fn with_invalidation_coordinator(
config: CacheConfig,
coordinator: Arc<CacheCoordinator>,
) -> Self
pub fn with_invalidation_coordinator( config: CacheConfig, coordinator: Arc<CacheCoordinator>, ) -> Self
Create with invalidation coordinator
Sourcepub fn attach_coordinator(&mut self, coordinator: Arc<CacheCoordinator>)
pub fn attach_coordinator(&mut self, coordinator: Arc<CacheCoordinator>)
Attach invalidation coordinator
Sourcepub fn put(&self, fingerprint_hash: String, results: Vec<u8>) -> Result<()>
pub fn put(&self, fingerprint_hash: String, results: Vec<u8>) -> Result<()>
Put query results into cache
Sourcepub fn invalidate(&self, fingerprint_hash: &str) -> Result<()>
pub fn invalidate(&self, fingerprint_hash: &str) -> Result<()>
Invalidate a specific cache entry
Sourcepub fn mark_invalidated(&self, fingerprint_hash: &str) -> Result<()>
pub fn mark_invalidated(&self, fingerprint_hash: &str) -> Result<()>
Mark entry as invalidated without removing (for batched invalidation)
Sourcepub fn invalidate_all(&self) -> Result<()>
pub fn invalidate_all(&self) -> Result<()>
Invalidate all cache entries
Sourcepub fn statistics(&self) -> CacheStatistics
pub fn statistics(&self) -> CacheStatistics
Get cache statistics
Auto Trait Implementations§
impl Freeze for QueryResultCache
impl !RefUnwindSafe for QueryResultCache
impl Send for QueryResultCache
impl Sync for QueryResultCache
impl Unpin for QueryResultCache
impl UnsafeUnpin for QueryResultCache
impl !UnwindSafe for QueryResultCache
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.