zino_extra::cache

Struct GlobalCache

Source
pub struct GlobalCache;
Available on crate feature cache only.
Expand description

Global cache built on the top of LruCache.

Implementations§

Source§

impl GlobalCache

Source

pub fn put( key: impl Into<String>, value: impl Into<JsonValue>, ) -> Option<JsonValue>

Puts a key-value pair into the global cache. If the key already exists in the cache, then it updates the key’s value and returns the old value. Otherwise, None is returned.

Source

pub fn push( key: impl Into<String>, value: impl Into<JsonValue>, ) -> Option<(String, JsonValue)>

Pushes a key-value pair into the global cache. If an entry with the key already exists in the cache or another cache entry is removed (due to the LRU’s capacity), then it returns the old entry’s key-value pair. Otherwise, returns None.

Source

pub fn get(key: &str) -> Option<JsonValue>

Returns a cloned value of the key in the global cache or None if it is not present in the cache. Moves the key to the head of the LRU list if it exists.

Source

pub fn peek(key: &str) -> Option<JsonValue>

Returns a cloned value of the key in the global cache or None if it is not present in the cache. It does not update the LRU list so the key’s position will be unchanged.

Source

pub fn contains(key: &str) -> bool

Returns a bool indicating whether the given key is in the global cache. Does not update the LRU list.

Source

pub fn pop(key: &str) -> Option<JsonValue>

Removes and returns the value corresponding to the key from the global cache or None if it does not exist.

Source

pub fn pop_entry(key: &str) -> Option<(String, JsonValue)>

Removes and returns the key-value pair from the global cache or None if it does not exist.

Source

pub fn pop_lru() -> Option<(String, JsonValue)>

Removes and returns the key-value pair corresponding to the least recently used item or None if the global cache is empty.

Source

pub fn promote(key: &str)

Marks the key as the most recently used one.

Source

pub fn demote(key: &str)

Marks the key as the least recently used one.

Source

pub fn len() -> usize

Returns the number of key-value pairs that are currently in the global cache.

Source

pub fn is_empty() -> bool

Returns a bool indicating whether the global cache is empty or not.

Source

pub fn cap() -> NonZeroUsize

Returns the maximum number of key-value pairs the global cache can hold.

Source

pub fn resize(cap: NonZeroUsize)

Resizes the global cache. If the new capacity is smaller than the size of the current cache any entries past the new capacity are discarded.

Source

pub fn clear()

Clears the contents of the global cache.

Trait Implementations§

Source§

impl Clone for GlobalCache

Source§

fn clone(&self) -> GlobalCache

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 Debug for GlobalCache

Source§

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

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

impl Default for GlobalCache

Source§

fn default() -> GlobalCache

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

impl Copy for GlobalCache

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> Same for T

Source§

type Output = T

Should always be Self
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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T