Skip to content

asyncth/wtinylfu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Important

Given that this library is rarely updated and is quite barebones, consider using Moka or Mini Moka for caching. Strictly speaking, the README claims that these libraries do not currently implement W-TinyLFU, but rather use TinyLFU alone, but it probably should be good enough anyway.

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

About

An implementation of W-TinyLFU cache in Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages