RocksDB, pyrocksdb 的安装与使用,rocksdbpyrocksdb,RocksDB是FB基于


RocksDB是FB基于google的LevelDB基础上改良的键值对数据库,类似于memcache和redis,支持RAM, Flash, Disk存储,写速度快过LevelDB 10倍左右, 听起来有点高大上的感觉,可参考https://github.com/facebook/rocksdb/wiki/Performance-Benchmarks 。不管这么多了,先安装试用下

rocksdb安装:

sudo git clone https://github.com/facebook/rocksdb.gitcd rocksdbvi Makefile

将这一行 OPT += -O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer修改为 OPT += -O2 -lrt -fno-omit-frame-pointer -momit-leaf-frame-pointer

在~/.bashrc中增加 export LD_PRELOAD=/lib/x86_64-linux-gnu/librt.so.1,并使变量生效source ~/.bashrc(这两步用于解决这个问题 " undefined symbol: clock_gettime")

sudo git checkout 2.8.fbsudo make shared_libcd ..sudo chown jerry:jerry rocksdb -Rfcd rocksdbsudo cp librocksdb.so /usr/local/libsudo mkdir -p /usr/local/include/rocksdb/sudo cp -r ./include/* /usr/local/include/

(这三步解决这个问题 “ Fatal error: rocksdb/slice.h: No such file or directory ")

pyrocksdb安装:

sudo pip install "Cython>=0.20"sudo pip install git+git://github.com/stephan-hof/pyrocksdb.git@v0.2.1

至些安装成功进入pyrocksdb环境

jerry@hq:/u01/rocksdb$ pythonPython 2.7.3 (default, Sep 26 2013, 20:03:06)[GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import rocksdb>>> db = rocksdb.DB("test.db", rocksdb.Options(create_if_missing=True))>>> db.put(b"key1", b"v1") >>> db.put(b"key2", b"v2")>>> db.get(b"key1")'v1'

评论关闭