#cache #lru #lfu #tinylfu

wtinylfu

An implementation of W-TinyLFU cache

1 unstable release

0.1.0 May 28, 2022

#297 in Caching

35 downloads per month
Used in dbeel

MIT license

19KB
487 lines

An implementation of W-TinyLFU cache

Implements W-TinyLFU cache as proposed in "TinyLFU: A Highly Efficient Cache Admission Policy" paper using only safe Rust. The API of this crate is meant to be similar to the API of lru crate.

Example usage

use wtinylfu::WTinyLfuCache;

fn main() {
    let mut cache = WTinyLfuCache::new(2, 10);
    cache.push(1, "one");
    cache.push(2, "two");
    assert_eq!(cache.get(&1), Some(&"one"));
    assert_eq!(cache.get(&2), Some(&"two"));
}

Contributing

Contributions are welcome! Currently this project is hosted both on GitHub and sr.ht. Contributions from either of these are accepted.

Dependencies

~1.5MB
~24K SLoC