Struct crude_cache::CrudeCache

source ·
pub struct CrudeCache { /* private fields */ }

Implementations§

source§

impl CrudeCache

source

pub fn new(num_shards: usize) -> Self

  • num_shards - Determines how many internal Shards (HashMaps) cache has. default() uses 64.
source

pub async fn force_insert<V>( &self, k: impl Into<String>, v: V, duration: Duration )where V: 'static + Sync + Send + Clone,

Inserts new value regardless of existing items expiration. Causes writelock for the shard

source

pub async fn get<V: 'static + Clone>(&self, key: &str) -> Option<V>

Gets the item by its key. If the value does not exist or it has expired, returns None.

Panics

Panics if value of the cached type is not V.

source

pub async fn get_or_else_update<V, F, Fut>( &self, key: &str, expiration: Duration, get: F ) -> Vwhere V: 'static + Clone + Sync + Send, F: Fn() -> Fut, Fut: Future<Output = V>,

Gets the item by its key. If the value does not exist or it has expired, new value by calling the provided get Fn.

Panics

Causes panic if value of the cached type is not V.

Trait Implementations§

source§

impl Clone for CrudeCache

source§

fn clone(&self) -> CrudeCache

Returns a copy 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 Default for CrudeCache

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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 Twhere T: Clone,

§

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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.