cachekit 0.7.0

High-performance cache primitives with pluggable eviction policies (LRU, LFU, FIFO, 2Q, Clock-PRO, S3-FIFO) and optional metrics.
Documentation
use std::sync::Arc;

use cachekit::policy::heap_lfu::HeapLfuCache;
use cachekit::traits::Cache;

fn main() {
    let mut cache: HeapLfuCache<&str, String> = HeapLfuCache::new(2);

    cache.insert("a", Arc::new("alpha".to_string()));
    cache.insert("b", Arc::new("beta".to_string()));

    cache.get(&"a");
    cache.insert("c", Arc::new("gamma".to_string()));

    println!("contains a? {}", cache.contains(&"a"));
    println!("contains b? {}", cache.contains(&"b"));
}

// Expected output:
// contains a? true
// contains b? false
//
// Explanation: capacity=2; "a" is accessed before inserting "c", so "b" is evicted.