3个不稳定版本
0.2.1 | 2023年5月9日 |
---|---|
0.2.0 | 2023年4月22日 |
0.1.0 | 2023年4月7日 |
#14 in #expiration
30KB
668 行
typedcache
此crate提供了具有过期功能的并发安全typedcache。
用法
将以下内容添加到您的Cargo.toml
[build-dependencies]
typedcache = "0.2"
示例
use std::time::Duration;
use typedcache::typed::TypedMap;
#[tokio::main]
async fn main() {
let cache = typedcache::cache("test".into());
cache
.add(
TestKey("key_erpired_after_1s".into()),
Duration::from_secs(1),
TestValue(1),
);
tokio::time::sleep(Duration::from_secs(2)).await;
assert!(cache
.get(&TestKey("key_erpired_after_1s".into()))
.is_none());
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct TestKey(String);
impl TypedMap for TestKey {
type Value = TestValue;
}
pub struct TestValue(isize);
致谢
Rust类型化的map: typedmap
具有过期功能的并发安全golang缓存库: cache2go
许可
在MIT许可证和Apache许可证(版本2.0)下双许可。
有关详细信息,请参阅LICENSE-MIT和LICENSE-APACHE。
依赖
~3–10MB
~83K SLoC