pub struct QueryCache { /* private fields */ }
Expand description
L3 Database query result cache
Implementations§
Source§impl QueryCache
impl QueryCache
Sourcepub fn new(config: QueryCacheConfig) -> Self
pub fn new(config: QueryCacheConfig) -> Self
Create a new query cache
Sourcepub fn new_default() -> Self
pub fn new_default() -> Self
Create a new query cache with default configuration
Sourcepub async fn cache_tasks_query<F, Fut>(
&self,
query_key: &str,
params_hash: &str,
fetcher: F,
) -> Result<Vec<Task>>
pub async fn cache_tasks_query<F, Fut>( &self, query_key: &str, params_hash: &str, fetcher: F, ) -> Result<Vec<Task>>
Cache a tasks query result
§Errors
This function will return an error if:
- The fetcher function fails
- Cache operations fail
- Serialization/deserialization fails
Sourcepub async fn cache_projects_query<F, Fut>(
&self,
query_key: &str,
params_hash: &str,
fetcher: F,
) -> Result<Vec<Project>>
pub async fn cache_projects_query<F, Fut>( &self, query_key: &str, params_hash: &str, fetcher: F, ) -> Result<Vec<Project>>
Cache a projects query result
§Errors
This function will return an error if:
- The fetcher function fails
- Cache operations fail
- Serialization/deserialization fails
Sourcepub async fn cache_areas_query<F, Fut>(
&self,
query_key: &str,
params_hash: &str,
fetcher: F,
) -> Result<Vec<Area>>
pub async fn cache_areas_query<F, Fut>( &self, query_key: &str, params_hash: &str, fetcher: F, ) -> Result<Vec<Area>>
Cache an areas query result
§Errors
This function will return an error if:
- The fetcher function fails
- Cache operations fail
- Serialization/deserialization fails
Sourcepub async fn cache_search_query<F, Fut>(
&self,
query_key: &str,
params_hash: &str,
fetcher: F,
) -> Result<Vec<Task>>
pub async fn cache_search_query<F, Fut>( &self, query_key: &str, params_hash: &str, fetcher: F, ) -> Result<Vec<Task>>
Cache a search query result
§Errors
This function will return an error if:
- The fetcher function fails
- Cache operations fail
- Serialization/deserialization fails
Sourcepub fn invalidate_by_entity(&self, entity_type: &str, entity_id: Option<&Uuid>)
pub fn invalidate_by_entity(&self, entity_type: &str, entity_id: Option<&Uuid>)
Invalidate queries by entity changes
Sourcepub fn invalidate_by_operation(&self, operation: &str)
pub fn invalidate_by_operation(&self, operation: &str)
Invalidate queries by operation
Sourcepub fn invalidate_all(&self)
pub fn invalidate_all(&self)
Invalidate all query caches
Sourcepub fn get_stats(&self) -> QueryCacheStats
pub fn get_stats(&self) -> QueryCacheStats
Get query cache statistics
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