#key-value-store #thread-safe #concurrency #chunks #cpu #power #packet

bin+lib cheetah_kv

一个简单的线程安全的键值存储

1 个不稳定版本

0.1.0 2023年5月17日

#2816数据库接口

MIT 许可证

30KB
686

CheetahKV

Rust 的键值存储。


lib.rs:

一个简单且高效的线程安全键值存储。

存储在块上进行分片。每个块都有自己的锁(读写),因此支持在多核 CPU 上的高并发访问。

高效的空间重用算法。每个数据包的大小是 2 的幂次方,用于在值更新和删除条目映射上进行原地重写,以重用空间。

let mut store_options = StoreOptions::new();
store_options.directory("dir_name".to_string()).chunks_count(100).chunks_prefix("prefix".to_string());

let store = Store::open(store_options).unwrap();
let key = "key".as_bytes();
let value = "value".as_bytes();

store.set(key, value, 0).unwrap();

let value_by_key = store.get(key).unwrap();

store.delete(key).unwrap();

依赖关系

~475–650KB
~11K SLoC