2 个版本
0.1.1 | 2022年7月4日 |
---|---|
0.1.0 | 2022年7月3日 |
#248 in 缓存
21KB
501 代码行
本 crate 实现了与 John T. Robinson 和 Murthy V. Devarakonda 在 ACM SIGMETRICS 1990 年发表的论文“使用基于频率的替换策略进行数据缓存管理”中描述的缓存具有基于频率的替换策略。
此类缓存的配置参数包括
- capacity: 插槽数量
- A_max: 超过该最大平均频率计数后进行老化。老化将在大约每 A_max * capacity 次缓存命中时执行。100 是一个合理的默认值。
- C_max: 通过计数进行驱逐的最大频率计数(超过该值:LRU)。你可能不需要调整此参数。
示例
use fbr_cache::FbrCache;
let mut cache = FbrCache::new(1000);
cache.put(1, "hello");
cache.put(2, "world");
assert_eq!(cache.get(&1), Some(&"hello"));
assert_eq!(cache.len(), 2);
依赖项
~390KB