#cache #replace #strategy #count #capacity #happen #fbr

fbr_cache

基于频率替换策略的缓存

2 个版本

0.1.1 2022年7月4日
0.1.0 2022年7月3日

#248 in 缓存

MIT/Apache

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