An Async Concurrent Hashmap with LRU Build a blazing fast HashMap Cache structure that can be used in for web servers, databases, or other systems with high levels of concurrent access.
use quick_hash_cache::lru::{Evict, LruCache};
#[tokio::main]
async fn main() {
let cache = LruCache::default();
for i in 0..20 {
cache.insert(i, i).await;
}
println!("{:?}", cache.get(&2).await);
let res = cache.evict_many(10, rand::thread_rng()).await;
assert_eq!(res.len(), 10);
println!("{:?}", res);
println!("{} {:?}", cache.size(), cache.get(&0).await);
println!("{} {:?}", cache.size(), cache.get(&2).await);
}
hash_builder, hash_and_shard, clear, retain, iter_shards, size, num_shards, try_maybe_contains_hash, contains_hash, contains, remove, insert, get, get_cloned, get_mut, get_or_insert, get_mut_or_insert, get_or_default, get_mut_or_default, batch_read, batch_write