pub struct QueryCache { /* private fields */ }Expand description
Main query cache implementation
Implementations§
Source§impl QueryCache
impl QueryCache
Sourcepub fn new(config: CacheConfig) -> Self
pub fn new(config: CacheConfig) -> Self
Create a new query cache with the given configuration
Sourcepub fn get_l1_cache(&self, connection_id: u64) -> Arc<L1HotCache> ⓘ
pub fn get_l1_cache(&self, connection_id: u64) -> Arc<L1HotCache> ⓘ
Get or create L1 cache for a connection
Sourcepub fn remove_l1_cache(&self, connection_id: u64)
pub fn remove_l1_cache(&self, connection_id: u64)
Remove L1 cache for a connection (on disconnect)
Sourcepub async fn get(&self, query: &str, context: &CacheContext) -> CacheLookup
pub async fn get(&self, query: &str, context: &CacheContext) -> CacheLookup
Look up a query in the cache hierarchy
Sourcepub async fn put(
&self,
query: &str,
context: &CacheContext,
data: Bytes,
row_count: usize,
execution_time: Duration,
)
pub async fn put( &self, query: &str, context: &CacheContext, data: Bytes, row_count: usize, execution_time: Duration, )
Store a query result in the cache
Sourcepub async fn invalidate_tables(&self, tables: &[String])
pub async fn invalidate_tables(&self, tables: &[String])
Invalidate cache entries for specific tables
Sourcepub async fn clear(&self, levels: &[CacheLevel])
pub async fn clear(&self, levels: &[CacheLevel])
Clear all caches
Sourcepub fn stats(&self) -> CacheStatsSnapshot
pub fn stats(&self) -> CacheStatsSnapshot
Get cache statistics
Sourcepub fn config(&self) -> &CacheConfig
pub fn config(&self) -> &CacheConfig
Get configuration
Sourcepub fn invalidator(&self) -> Arc<InvalidationManager> ⓘ
pub fn invalidator(&self) -> Arc<InvalidationManager> ⓘ
Get the invalidation manager (for WAL subscription)
Auto Trait Implementations§
impl Freeze for QueryCache
impl !RefUnwindSafe for QueryCache
impl Send for QueryCache
impl Sync for QueryCache
impl Unpin for QueryCache
impl UnsafeUnpin 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