4 个版本
使用旧版 Rust 2015
0.1.3 | 2017年1月2日 |
---|---|
0.1.2 | 2017年1月2日 |
0.1.1 | 2017年1月2日 |
0.1.0 | 2016年12月31日 |
#50 in #local-file
21KB
526 行
kvlite
由本地文件系统支持的键值存储。主要是一个用于学习 Rust 的玩具项目。
用法
首先,将以下内容添加到您的 Cargo.toml
[dependencies]
kvlite = "0.1.2"
然后,将以下内容添加到您的 crate
extern crate kvlite;
use kvlite::Store;
请参阅库用法文档。
命令行界面用法
安装 rust 后,您可以使用 cargo install kvlite
命令来获取 kvl
命令行工具。
usage: kvl <command> [<args>]
kvlite is a key-value store backed by the local file system.
commands:
set <key> <value> Create or update a key's value.
get <key> Look up a key's value.
del <key> Remove a key.
lib.rs
:
由本地文件系统支持的键值存储。
底层的哈希表使用一种低效的哈希算法,将键和值放入大型的未优化的桶中,并从文件中读取/写入这些桶。
文件大小非常大,不会重新分配内存。此外,哈希表不调整其键空间。我可能会也可能不会修复这些问题……这个项目主要是为了学习 Rust。
读取大约为 2k QPS,写入 500 QPS。它是线程安全和进程安全的(可能)。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
kvlite = "0.1.2"
示例
extern crate kvlite;
use kvlite::FileHashMap;
let kv = FileHashMap::new("myfile.kvlite");
kv.insert("foo", "bar");
let foo = kv.get("foo").unwrap();
println!("foo: {}", foo); // prints: "foo: bar"
依赖项
~1.5MB
~37K SLoC