CentOS 安装 rocksdb
参考: - rocksdb-python https://github.com/AYMENJD/rocksdb-python - python-rocksdb https://python-rocksdb.readthedocs.io/en/latest/installation.html
- 安装 gflags
dnf --enablerepo=powertools install gflags-devel
- clone rocksdb 代码
https://github.com/facebook/rocksdb.git
- 编译
cd rocksdb
mkdir build
cd build
cmake ..
make rocksdb-shared
- install 或者设置环境变量(二选一) 选项一:全局 install
make install-shared INSTALL_PATH=/usr
选项二:设置环境变量 在 build 目录中执行如下命令。方便编译器找到 rocksdb
export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:`pwd`/../include
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`
export LIBRARY_PATH=${LIBRARY_PATH}:`pwd`
编译完成后,需要把 librocksdb.xx
都复制到 /usr/lib64/
目录中。
安装 python-rocksdb
先安装依赖库
dnf --enablerepo=powertools install -y snappy-devel
dnf --enablerepo=powertools install -y bzip2-devel
dnf --enablerepo=powertools install -y lz4-devel
yum install -y zlib-devel
下载 python-rocksdb
源代码
git clone https://github.com/twmht/python-rocksdb.git
尝试安装,但是会报错,因为 import
和 cimport
的时候,需要使用 python3
的 from . import
风格。所以需要手动把报错的地方都修改了。
编译的时候 import errors
不会报错,但是运行的时候会报错,所以包含这一行的代码也需要改。
安装命令
cd python-rocksdb
pip install .
python 使用 rocksdb
风格和 leveldb
一样。
import rocksdb
# db = os.path.join("test.db", "files.rkdb")
db = rocksdb.DB("test.db", rocksdb.Options(create_if_missing=True), read_only=True) # 以只读模式打开数据库
# db.put(b"k", b"v")
db.get(b"k")
# db.delete("k")