pub struct CacheKeyBuilder { /* private fields */ }Expand description
Builder for cache keys made of escaped :-separated segments.
segment escapes : and %, which keeps a single logical segment from
being confused with multiple key segments.
§Example
use hydracache_core::CacheKeyBuilder;
let key = CacheKeyBuilder::new()
.segment("tenant")
.segment(7)
.entity("user", 42)
.build_string();
assert_eq!(key, "tenant:7:user:42");Implementations§
Source§impl CacheKeyBuilder
impl CacheKeyBuilder
Sourcepub fn new() -> CacheKeyBuilder
pub fn new() -> CacheKeyBuilder
Create an empty key builder.
Sourcepub fn from_segment(segment: impl ToString) -> CacheKeyBuilder
pub fn from_segment(segment: impl ToString) -> CacheKeyBuilder
Create a key builder with one initial segment.
Sourcepub fn segment(self, segment: impl ToString) -> CacheKeyBuilder
pub fn segment(self, segment: impl ToString) -> CacheKeyBuilder
Append one escaped key segment.
Sourcepub fn segments<I, S>(self, segments: I) -> CacheKeyBuilderwhere
I: IntoIterator<Item = S>,
S: ToString,
pub fn segments<I, S>(self, segments: I) -> CacheKeyBuilderwhere
I: IntoIterator<Item = S>,
S: ToString,
Append multiple escaped key segments.
Sourcepub fn entity(self, kind: impl ToString, id: impl ToString) -> CacheKeyBuilder
pub fn entity(self, kind: impl ToString, id: impl ToString) -> CacheKeyBuilder
Append an escaped entity kind and id pair.
Sourcepub fn tenant(self, id: impl ToString) -> CacheKeyBuilder
pub fn tenant(self, id: impl ToString) -> CacheKeyBuilder
Append a tenant:{id} prefix.
Sourcepub fn build_string(self) -> String
pub fn build_string(self) -> String
Build an owned key string.
Trait Implementations§
Source§impl Clone for CacheKeyBuilder
impl Clone for CacheKeyBuilder
Source§fn clone(&self) -> CacheKeyBuilder
fn clone(&self) -> CacheKeyBuilder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CacheKeyBuilder
impl Debug for CacheKeyBuilder
Source§impl Default for CacheKeyBuilder
impl Default for CacheKeyBuilder
Source§fn default() -> CacheKeyBuilder
fn default() -> CacheKeyBuilder
Returns the “default value” for a type. Read more
impl Eq for CacheKeyBuilder
Source§impl PartialEq for CacheKeyBuilder
impl PartialEq for CacheKeyBuilder
Source§fn eq(&self, other: &CacheKeyBuilder) -> bool
fn eq(&self, other: &CacheKeyBuilder) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CacheKeyBuilder
Auto Trait Implementations§
impl Freeze for CacheKeyBuilder
impl RefUnwindSafe for CacheKeyBuilder
impl Send for CacheKeyBuilder
impl Sync for CacheKeyBuilder
impl Unpin for CacheKeyBuilder
impl UnsafeUnpin for CacheKeyBuilder
impl UnwindSafe for CacheKeyBuilder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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