pub struct TtlLruStore<T> { /* private fields */ }Expand description
线程安全的 TTL + LRU 两级淘汰缓存存储。 同时支持多读或单写并发访问。
Implementations§
Source§impl<T: Expired + Clone> TtlLruStore<T>
impl<T: Expired + Clone> TtlLruStore<T>
Sourcepub fn new(size: NonZeroUsize) -> Self
pub fn new(size: NonZeroUsize) -> Self
创建指定容量的 TtlLruStore,容量必须大于 0。
Sourcepub async fn get(&self, key: &str) -> Option<T>
pub async fn get(&self, key: &str) -> Option<T>
读取未过期的缓存值,键不存在或已过期时返回 None。
内部使用 peek 而非 get,不更新 LRU 顺序,性能更优。
Sourcepub async fn purge_expired(&self)
pub async fn purge_expired(&self)
清除所有已过期的条目,应定期调用以释放内存。
Auto Trait Implementations§
impl<T> !Freeze for TtlLruStore<T>
impl<T> !RefUnwindSafe for TtlLruStore<T>
impl<T> Send for TtlLruStore<T>where
T: Send,
impl<T> Sync for TtlLruStore<T>
impl<T> Unpin for TtlLruStore<T>
impl<T> UnsafeUnpin for TtlLruStore<T>
impl<T> UnwindSafe for TtlLruStore<T>where
T: RefUnwindSafe,
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