#fixed-size #values #destructor #cache #key #arc #usizes

已删除 cache

类型无关,固定大小的缓存

使用旧的 Rust 2015

0.2.0 2018年8月19日
0.1.4 2017年9月2日

⚠️ 已报告问题

#15#destructor


用于 5 个crate(通过 kelvin

GPL-3.0 许可证

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