CacheKey

Struct CacheKey 

Source
pub struct CacheKey { /* private fields */ }
Expand description

A cache key that uniquely identifies a cached value.

Keys are structured as prefix:namespace:identifier to enable pattern-based invalidation.

Implementations§

Source§

impl CacheKey

Source

pub fn new(namespace: impl Into<String>, identifier: impl Into<String>) -> Self

Create a new cache key.

Source

pub fn with_prefix( prefix: impl Into<String>, namespace: impl Into<String>, identifier: impl Into<String>, ) -> Self

Create a cache key with a custom prefix.

Source

pub fn entity_record<I: Display>(entity: &str, id: I) -> Self

Create a key for a specific entity record.

Source

pub fn query(entity: &str, query_hash: u64) -> Self

Create a key for a query result.

Source

pub fn find_unique<I: Display>(entity: &str, field: &str, value: I) -> Self

Create a key for a find-unique query.

Source

pub fn find_many(entity: &str, filter_hash: u64) -> Self

Create a key for a find-many query with filters.

Source

pub fn aggregate(entity: &str, agg_hash: u64) -> Self

Create a key for an aggregation.

Source

pub fn relation<I: Display>( from_entity: &str, from_id: I, relation: &str, ) -> Self

Create a key for a relation.

Source

pub fn with_tenant(self, tenant: impl Into<String>) -> Self

Set the tenant for multi-tenant apps.

Source

pub fn as_str(&self) -> String

Get the full key string.

Source

pub fn namespace(&self) -> &str

Get the namespace.

Source

pub fn identifier(&self) -> &str

Get the identifier.

Source

pub fn prefix(&self) -> &str

Get the prefix.

Source

pub fn tenant(&self) -> Option<&str>

Get the tenant if set.

Trait Implementations§

Source§

impl Clone for CacheKey

Source§

fn clone(&self) -> CacheKey

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CacheKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CacheKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&str> for CacheKey

Source§

fn from(s: &str) -> Self

Converts to this type from the input type.
Source§

impl From<String> for CacheKey

Source§

fn from(s: String) -> Self

Converts to this type from the input type.
Source§

impl Hash for CacheKey

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CacheKey

Source§

fn eq(&self, other: &CacheKey) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CacheKey

Source§

impl StructuralPartialEq for CacheKey

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToSmolStr for T
where T: Display + ?Sized,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more