pub struct QueryPatternCache { /* private fields */ }Expand description
Query pattern cache implementation
Implementations§
Source§impl QueryPatternCache
impl QueryPatternCache
pub fn new(config: EnhancedRetrievalConfig) -> Self
Sourcepub fn generate_cache_key(&self, request: &MemoryAwareSearchRequest) -> String
pub fn generate_cache_key(&self, request: &MemoryAwareSearchRequest) -> String
Generate cache key from search request
Sourcepub async fn get(&self, cache_key: &str) -> Option<Vec<MemoryAwareSearchResult>>
pub async fn get(&self, cache_key: &str) -> Option<Vec<MemoryAwareSearchResult>>
Get cached results if available and not expired
Sourcepub async fn set(
&self,
cache_key: String,
results: Vec<MemoryAwareSearchResult>,
)
pub async fn set( &self, cache_key: String, results: Vec<MemoryAwareSearchResult>, )
Store results in cache
Sourcepub async fn get_metrics(&self) -> CacheOperationMetrics
pub async fn get_metrics(&self) -> CacheOperationMetrics
Get cache metrics
Sourcepub async fn cleanup_expired(&self) -> usize
pub async fn cleanup_expired(&self) -> usize
Clear expired entries
Auto Trait Implementations§
impl Freeze for QueryPatternCache
impl !RefUnwindSafe for QueryPatternCache
impl Send for QueryPatternCache
impl Sync for QueryPatternCache
impl Unpin for QueryPatternCache
impl !UnwindSafe for QueryPatternCache
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