#cache #clock #how

clock_cache

CLOCK 缓存实现

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年1月3日

107#clock

MIT 许可证

13KB
172

CLOCK Cache

Build Status Coverage Status License

这是在 [A Paging Experiment with the Multics System] (http://multicians.org/paging-experiment.pdf) 中首次描述的 CLOCK 缓存的实现。

示例

以下是实例化 CLOCK 缓存的简单示例。

extern crate clock_cache;

use clock_cache::ClockCache;

fn main() {
        let mut cache = ClockCache::new(2);
        cache.put("apple", "red");
        cache.put("banana", "yellow");

        assert_eq!(*cache.get(&"apple").unwrap(), "red");
        assert_eq!(*cache.get(&"banana").unwrap(), "yellow");
        assert!(cache.get(&"pear").is_none());

        cache.put("pear", "green");

        assert_eq!(*cache.get(&"pear").unwrap(), "green");
        assert_eq!(*cache.get(&"banana").unwrap(), "yellow");
        assert!(cache.get(&"apple").is_none());
}

依赖项

~97KB