pub struct QueryCache { /* private fields */ }Expand description
A simple in-memory cache for query results.
Implementations§
Source§impl QueryCache
impl QueryCache
Sourcepub fn with_max_entries(max_entries: usize) -> Self
pub fn with_max_entries(max_entries: usize) -> Self
Create a new query cache with a maximum number of entries.
Sourcepub fn get(
&self,
function_name: &str,
args: &Value,
auth_scope: Option<&str>,
) -> Option<Arc<Value>>
pub fn get( &self, function_name: &str, args: &Value, auth_scope: Option<&str>, ) -> Option<Arc<Value>>
Get a cached value if it exists and hasn’t expired.
Sourcepub fn set(
&self,
function_name: &str,
args: &Value,
auth_scope: Option<&str>,
value: Value,
ttl: Duration,
)
pub fn set( &self, function_name: &str, args: &Value, auth_scope: Option<&str>, value: Value, ttl: Duration, )
Set a cached value with a TTL.
Sourcepub fn set_arc(
&self,
function_name: &str,
args: &Value,
auth_scope: Option<&str>,
value: Arc<Value>,
ttl: Duration,
)
pub fn set_arc( &self, function_name: &str, args: &Value, auth_scope: Option<&str>, value: Arc<Value>, ttl: Duration, )
Store a pre-wrapped Arc<Value> in the cache.
Sourcepub fn invalidate(&self, function_name: &str, args: &Value)
pub fn invalidate(&self, function_name: &str, args: &Value)
Invalidate a specific cache entry.
Sourcepub fn invalidate_function(&self, function_name: &str)
pub fn invalidate_function(&self, function_name: &str)
Invalidate all entries for a function.
Sourcepub fn invalidate_by_tables(&self, query_names: &[&str])
pub fn invalidate_by_tables(&self, query_names: &[&str])
Invalidate all cached queries that depend on any of the given tables.
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 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