2 个版本
0.1.9 | 2022年1月7日 |
---|---|
0.1.8 | 2022年1月4日 |
0.1.7 |
|
#294 in 缓存
每月 45 次下载
98KB
2K SLoC
Endorphin
基于键值对的内存缓存库,支持使用标准HashMap、HashSet接口的 自定义过期策略。
示例
use std::thread::sleep;
use std::time::Duration;
use endorphin::policy::TTLPolicy;
use endorphin::HashMap;
fn main() {
let mut cache = HashMap::new(TTLPolicy::new());
cache.insert("Still", "Alive", Duration::from_secs(3));
cache.insert("Gonna", "Die", Duration::from_secs(1));
sleep(Duration::from_secs(1));
assert_eq!(cache.get(&"Still"), Some(&"Alive"));
assert_eq!(cache.get(&"Gonna"), None);
}
目前,我们提供了四种预定义策略。
LazyFixedTTLPolicy
使用 懒过期,就像其他缓存crate一样,当访问条目后超过其TTL时,它会过期项目。TTLPolicy
使用 主动过期,即使你不访问过期的条目也会过期。TTIPolicy
使用 主动过期,即使你不访问过期的条目也会过期。MixedPolicy
是TTL和TTI的混合策略。
依赖项
~2MB
~34K SLoC