Skip to content

NavyaZaveri/lfu-cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lfu-cache

A rust implementation of a Least Frequently Used (LFU) cache.

It supports insertions and retrievals, both of which are performed in constant time. In the event of tie between multiple least frequently used entries, the least recently used entry is evicted.

Usage:

 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));
}

Install

https://crates.io/crates/lfu

About

A rust implementation of a Least Frequently Used cache

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages