3个版本
0.21.0 |
|
---|
#1511 in 数据库接口
67 每月下载量
1.5MB
30K SLoC
ng-rocksdb
这是对https://github.com/rust-rocksdb/rust-rocksdb的分支,同时还包括https://github.com/facebook/rocksdb的分支,以满足NextGraph.org项目的需求。
需求
- Clang和LLVM
https://rust-lang.github.io/rust-bindgen/requirements.html
- 在使用此crate之前,您必须在此下载我们的rocksdb分支并将其内容解压到
src/branch/master/librocksdb-sys/rocksdb
在OpenBSD上
pkg_add llvm
//choose the 17 version
在macOS上
port install clang
在Linux上
apt install llvm-dev libclang-dev clang
在windows上
从这里下载这里
贡献
欢迎反馈和pull请求!如果您认为RocksDB的某个特定功能很重要,请通过打开一个issue来告诉我,我会优先处理。
压缩支持
默认情况下,通过crate功能启用了对Snappy、LZ4、Zstd、Zlib和Bzip2压缩的支持。如果不需要所有这些压缩算法的支持,可以禁用默认功能并启用特定的压缩算法。例如,要仅启用LZ4压缩支持,请对您的Cargo.toml文件进行以下更改
多线程ColumnFamily交替
底层的RocksDB允许同时从多个线程创建和删除列族。但此crate默认不支持,以保持兼容性。如果您需要并发修改列族,请启用名为multi-threaded-cf
的crate功能,这将使此绑定的数据结构默认使用RwLock。或者,您可以直接创建DBWithThreadMode<MultiThreaded>
而无需启用crate功能。
依赖关系
~0.4–6MB
~113K SLoC