pub struct Cache<K, V>{ /* private fields */ }Expand description
LRU 缓存
Implementations§
Source§impl<K, V> Cache<K, V>
impl<K, V> Cache<K, V>
Sourcepub fn new(config: CacheConfig) -> Self
pub fn new(config: CacheConfig) -> Self
创建新缓存
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
使用默认配置创建
Sourcepub fn insert_with_ttl(&self, key: K, value: V, ttl: Option<Duration>)
pub fn insert_with_ttl(&self, key: K, value: V, ttl: Option<Duration>)
插入条目(自定义 TTL)
Sourcepub fn with_value<R, F>(&self, key: &K, f: F) -> Option<R>
pub fn with_value<R, F>(&self, key: &K, f: F) -> Option<R>
获取值的引用(通过闭包访问)
Sourcepub fn contains_key(&self, key: &K) -> bool
pub fn contains_key(&self, key: &K) -> bool
检查键是否存在(不更新访问时间)
Sourcepub fn get_or_insert_with<F>(&self, key: K, f: F) -> V
pub fn get_or_insert_with<F>(&self, key: K, f: F) -> V
获取或插入
Sourcepub fn stats(&self) -> CacheStatsSnapshot
pub fn stats(&self) -> CacheStatsSnapshot
获取统计快照
Sourcepub fn reset_stats(&self)
pub fn reset_stats(&self)
重置统计
Sourcepub fn cleanup_expired(&self) -> usize
pub fn cleanup_expired(&self) -> usize
手动清理过期条目
Sourcepub fn insert_many<I>(&self, items: I)where
I: IntoIterator<Item = (K, V)>,
pub fn insert_many<I>(&self, items: I)where
I: IntoIterator<Item = (K, V)>,
批量插入
Trait Implementations§
Auto Trait Implementations§
impl<K, V> !Freeze for Cache<K, V>
impl<K, V> !RefUnwindSafe for Cache<K, V>
impl<K, V> Send for Cache<K, V>
impl<K, V> Sync for Cache<K, V>
impl<K, V> Unpin for Cache<K, V>
impl<K, V> UnwindSafe for Cache<K, V>where
K: UnwindSafe,
V: UnwindSafe,
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