1 个不稳定发布
0.19.0 | 2022年10月28日 |
---|
#29 in #lsm-tree
19MB
401K SLoC
rust-rocksdb
需求
- Clang 和 LLVM
贡献
欢迎反馈和拉取请求!如果您认为 RocksDB 的某个功能很重要,请通过创建一个 issue 来让我知道,我会优先处理。
使用方法
此绑定与特定版本的 RocksDB 静态链接。如果您想自己构建它,请确保您已克隆了 RocksDB 和压缩子模块。
git submodule update --init --recursive
压缩支持
默认情况下,通过 crate 特性启用了对 Snappy、LZ4、Zstd、Zlib 和 Bzip2 的压缩支持。如果不需要所有这些压缩算法的支持,可以禁用默认特性并启用特定的压缩算法。例如,要仅启用 LZ4 压缩支持,请在您的 Cargo.toml 中进行以下更改:
[dependencies.rocksdb]
default-features = false
features = ["lz4"]
多线程 ColumnFamily 切换
底层的 RocksDB 允许在多个线程中同时创建和删除列族。但此 crate 默认不支持,以保持兼容性。如果您需要并发修改列族,请启用名为 multi-threaded-cf
的 crate 特性,这将使此绑定默认使用 RwLock。或者,您可以直接创建 DBWithThreadMode<MultiThreaded>
而无需启用 crate 特性。
依赖项
~0–4MB
~64K SLoC