pub struct RelationshipCache { /* private fields */ }Expand description
Relationship cache for managing loaded relationships across models
Implementations§
Source§impl RelationshipCache
impl RelationshipCache
Sourcepub async fn store(
&self,
model_type: &str,
model_id: &str,
relation: &str,
data: Value,
)
pub async fn store( &self, model_type: &str, model_id: &str, relation: &str, data: Value, )
Store a relationship in the cache
Sourcepub async fn get(
&self,
model_type: &str,
model_id: &str,
relation: &str,
) -> Option<Value>
pub async fn get( &self, model_type: &str, model_id: &str, relation: &str, ) -> Option<Value>
Retrieve a relationship from the cache
Sourcepub async fn contains(
&self,
model_type: &str,
model_id: &str,
relation: &str,
) -> bool
pub async fn contains( &self, model_type: &str, model_id: &str, relation: &str, ) -> bool
Check if a relationship is cached
Sourcepub async fn clear_model(&self, model_type: &str, model_id: &str)
pub async fn clear_model(&self, model_type: &str, model_id: &str)
Clear all cached relationships for a model instance
Sourcepub async fn clear_model_type(&self, model_type: &str)
pub async fn clear_model_type(&self, model_type: &str)
Clear all cached relationships for a model type
Sourcepub async fn stats(&self) -> CacheStats
pub async fn stats(&self) -> CacheStats
Get cache statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RelationshipCache
impl !RefUnwindSafe for RelationshipCache
impl Send for RelationshipCache
impl Sync for RelationshipCache
impl Unpin for RelationshipCache
impl !UnwindSafe for RelationshipCache
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