pub struct QueryCache { /* private fields */ }Expand description
LRU cache for query results
Implementations§
Source§impl QueryCache
impl QueryCache
Sourcepub fn insert(&self, key: QueryKey, solutions: Vec<Substitution>)
pub fn insert(&self, key: QueryKey, solutions: Vec<Substitution>)
Insert a result into the cache
Sourcepub fn insert_with_ttl(
&self,
key: QueryKey,
solutions: Vec<Substitution>,
ttl: Duration,
)
pub fn insert_with_ttl( &self, key: QueryKey, solutions: Vec<Substitution>, ttl: Duration, )
Insert a result with custom TTL
Sourcepub fn invalidate(&self, key: &QueryKey) -> bool
pub fn invalidate(&self, key: &QueryKey) -> bool
Invalidate a cached result
Sourcepub fn invalidate_predicate(&self, predicate_name: &str)
pub fn invalidate_predicate(&self, predicate_name: &str)
Invalidate all results for a predicate
Sourcepub fn stats(&self) -> Arc<CacheStats>
pub fn stats(&self) -> Arc<CacheStats>
Get cache statistics
Sourcepub fn evict_expired(&self) -> usize
pub fn evict_expired(&self) -> usize
Remove expired entries
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for QueryCache
impl !RefUnwindSafe for QueryCache
impl Send for QueryCache
impl Sync for QueryCache
impl Unpin for QueryCache
impl UnwindSafe for QueryCache
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 more