1个稳定版本
1.0.1 | 2023年11月12日 |
---|
#260 在 缓存
45KB
1K SLoC
quick-hash-cache
具有LRU功能的异步并发哈希表。构建一个快速的HashMap缓存结构,可用于Web服务器、数据库或其他具有高并发访问级别的系统。它改进了Redis主要单线程的特性,并支持高级自定义数据结构。
示例
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
依赖关系
~5–8MB
~132K SLoC