Skip to main content

LruLocalStore

Struct LruLocalStore 

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

The default LRU store.

Implementations§

Source§

impl LruLocalStore

Source

pub fn new(capacity: NonZeroUsize) -> Self

A store holding at most capacity entries. Capacity must be positive; storage is allocated as entries arrive rather than for the full limit.

Source

pub fn len(&self) -> usize

Entries currently held, expired ones included until a read removes them.

Source

pub fn is_empty(&self) -> bool

Whether no entries are held.

Trait Implementations§

Source§

impl Debug for LruLocalStore

Source§

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

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

impl LocalStore for LruLocalStore

Source§

fn get(&mut self, key: &str, now_ms: i64) -> Result<LocalRead, BoxError>

Read one key. A live entry is promoted and returned; an expired entry is removed without promotion and handed back so the cache can drop it outside its lock.
Source§

fn put( &mut self, key: String, entry: LocalEntry, ) -> Result<Option<LocalEntry>, BoxError>

Insert or replace an entry, promoting it and evicting at capacity. Returns the displaced entry (the replaced value or the evicted tail), which the cache drops outside its lock.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.