使用旧的 Rust 2015
0.2.0 |
|
---|---|
0.1.4 |
|
#15 在 #destructor
用于 5 个crate(通过 kelvin)
22KB
493 代码行
缓存
能够缓存不同类型值的固定大小LRU-Cache。
示例
示例演示在缓存中缓存两种不同类型,并运行析构函数。
#[test]
fn destructors() {
let cache = Cache::new(1, 4096);
let arc = Arc::new(42usize);
cache.insert(0, arc.clone());
assert_eq!(Arc::strong_count(&arc), 2);
let n: usize = 10_000;
// spam usizes to make arc fall out
for i in 1..n {
cache.insert(i, i);
}
// arc should have fallen out
assert!(cache.get::<Arc<usize>>(&0).is_none());
// and had its destructor run
assert_eq!(Arc::strong_count(&arc), 1);
}
lib.rs
:
内存中的固定大小缓存,适用于任意类型。
主要用于内容寻址存储,其中键唯一标识值。
依赖项
~1MB
~17K SLoC