pub struct EbbinghausPolicy { /* private fields */ }Expand description
Ebbinghaus forgetting curve eviction policy.
Score formula:
score = exp(-t / (S * ln(1 + n)))
Where:
t= seconds sincelast_accessed(orcreated_atif never accessed)S=retention_strength(higher = slower decay)n=access_count
Entries with a high access count or recent access get higher scores and are less likely to be evicted.
Implementations§
Trait Implementations§
Source§impl Default for EbbinghausPolicy
impl Default for EbbinghausPolicy
Source§impl EvictionPolicy for EbbinghausPolicy
impl EvictionPolicy for EbbinghausPolicy
Auto Trait Implementations§
impl Freeze for EbbinghausPolicy
impl RefUnwindSafe for EbbinghausPolicy
impl Send for EbbinghausPolicy
impl Sync for EbbinghausPolicy
impl Unpin for EbbinghausPolicy
impl UnsafeUnpin for EbbinghausPolicy
impl UnwindSafe for EbbinghausPolicy
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
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 moreSource§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