1 个不稳定版本
0.8.0+7.4.4 | 2022年10月28日 |
---|
51 在 #rocksdb
每月34次下载
用于 rocksdbx
19MB
394K 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默认不支持,以保持兼容性。如果您需要并发修改列族,请启用crate功能multi-threaded-cf
,这将使此绑定使用默认的RwLock
数据结构。或者,您可以直接创建DBWithThreadMode<MultiThreaded>
,而不启用crate功能。
在/MT或/MD运行时库之间切换(仅限Windows)
功能mt_static
将请求使用/MT
标志构建库,这将导致库使用运行时库的静态版本。这在依赖树中存在不同运行时版本冲突的情况下可能很有用。
依赖项
~0–4MB
~72K SLoC