pub struct TimedCache<K, V>(Arc<TimedCacheInner<K, V>>);Expand description
A cache with entries that “expire” after a per-cache time limit
Tuple Fields§
§0: Arc<TimedCacheInner<K, V>>Implementations§
Source§impl<K, V> TimedCache<K, V>
impl<K, V> TimedCache<K, V>
Sourcepub fn get_if_fresh<Q>(&self, key: &Q) -> Option<Arc<TimedCacheEntry<V>>>
pub fn get_if_fresh<Q>(&self, key: &Q) -> Option<Arc<TimedCacheEntry<V>>>
Get a value if fresh, or None if it doesn’t exist or is expired
Sourcepub fn get_random_if_fresh(&self) -> Option<Arc<TimedCacheEntry<V>>>
pub fn get_random_if_fresh(&self) -> Option<Arc<TimedCacheEntry<V>>>
Get a random fresh value
Sourcepub fn insert_and_get(&self, key: K, value: V) -> Arc<TimedCacheEntry<V>>
pub fn insert_and_get(&self, key: K, value: V) -> Arc<TimedCacheEntry<V>>
Insert a K/V and return the data for the newly inserted value
Sourcepub fn force_trim(&self)
pub fn force_trim(&self)
Trims expired entries, ignoring last trim time.
Trait Implementations§
Source§impl<K, V> Clone for TimedCache<K, V>
impl<K, V> Clone for TimedCache<K, V>
Source§impl<K, V> Debug for TimedCache<K, V>
impl<K, V> Debug for TimedCache<K, V>
Auto Trait Implementations§
impl<K, V> Freeze for TimedCache<K, V>
impl<K, V> !RefUnwindSafe for TimedCache<K, V>
impl<K, V> Send for TimedCache<K, V>
impl<K, V> Sync for TimedCache<K, V>
impl<K, V> Unpin for TimedCache<K, V>
impl<K, V> !UnwindSafe for TimedCache<K, V>
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<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
fn clone_storage(&self) -> Box<dyn CloneDebuggableStorage>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request