17 个版本

0.2.5 2020 年 6 月 22 日
0.2.4 2020 年 6 月 21 日
0.2.1 2020 年 5 月 21 日
0.1.19 2020 年 5 月 15 日

#1330算法

Download history 80/week @ 2024-03-13 80/week @ 2024-03-20 92/week @ 2024-03-27 77/week @ 2024-04-03 52/week @ 2024-04-10 126/week @ 2024-04-17 113/week @ 2024-04-24 63/week @ 2024-05-01 77/week @ 2024-05-08 111/week @ 2024-05-15 111/week @ 2024-05-22 53/week @ 2024-05-29 18/week @ 2024-06-05 56/week @ 2024-06-12 25/week @ 2024-06-19 52/week @ 2024-06-26

154 每月下载量

MIT/Apache

11KB
217

lfu-cache

一个 Least Frequently Used (LFU) 缓存的 Rust 实现。

它支持插入和检索,这两个操作都是常数时间。在多个最少使用频率的条目之间发生冲突时,最少 最近 使用条目将被移除。

使用方法

 extern crate lfu;
 use lfu::LFUCache;

 fn main() {
     let mut lfu = LFUCache::new(2).unwrap(); //initialize an lfu with a maximum capacity of 2 entries
     lfu.set(2, 2);
     lfu.set(3, 3);
     lfu.set(3, 30);
    
    
    //We're at fully capacity. First purge (2,2) since it's the least-frequently-used entry, then insert the current entry
     lfu.set(4,4); 
    
     assert_eq!(lfu.get(&2), None);
     assert_eq!(lfu.get(&3), Some(&30));
}

安装

https://crates.io/crates/lfu


lib.rs:

一个高效的 Least Frequently Used 缓存实现。

它支持插入和检索,这两个操作都是常数时间。在两个最少使用频率的条目之间发生冲突时,最少 最近 使用条目将被移除。

示例

extern crate lfu;
use lfu::LFUCache;

let mut lfu = LFUCache::with_capacity(2).unwrap(); //initialize an lfu with a maximum capacity of 2 entries
lfu.set(2, 2);
lfu.set(3, 3);
lfu.set(3, 30);
lfu.set(4,4); //We're at fully capacity. First purge (2,2) since it's the least-frequently-used entry, then insert the current entry
assert_eq!(lfu.get(&2), None);
assert_eq!(lfu.get(&3), Some(&30));

依赖项

~110KB