这篇文章给大家分享的是有关SSDB如何安装和使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
介绍:SSDB是一个高性能的支持丰富数据结构的 NoSQL 数据库, 使用硬盘存储,使用Google高性能的存储引擎LevelDB,可以用于替代 Redis.
SSDB特性:
替代 Redis 数据库, Redis 的 100 倍容量
LevelDB 网络支持, 使用 C/C++ 开发
Redis API 兼容, 支持 Redis 客户端
适合存储集合数据, 如 list, hash, zset…
客户端 API 支持的语言包括: C++, PHP, Python, Java, Go
持久化的队列服务
主从复制, 负载均衡
下载:
# wget –no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
# unzip master
# cd ssdb-master
编译:
# make
编译报错:
Makefile:4: build_config.mk: No such file or directory
make: *** No rule to make target `build_config.mk'. Stop.
解决方法:
# yum install -y autoconf
继续编译,又报错:
make[1]: Leaving directory `/root/ssdb/ssdb-master/src/client'
cd src/ssdb; make
make[1]: Entering directory `/root/ssdb/ssdb-master/src/ssdb'
g++ -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare -I "/root/ssdb/ssdb-master/deps/leveldb-1.20/include" -I "/root/ssdb/ssdb-master/deps/jemalloc-4.1.0/include" -c ssdb_impl.cpp
g++ -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare -I "/root/ssdb/ssdb-master/deps/leveldb-1.20/include" -I "/root/ssdb/ssdb-master/deps/jemalloc-4.1.0/include" -c iterator.cpp
g++ -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare -I "/root/ssdb/ssdb-master/deps/leveldb-1.20/include" -I "/root/ssdb/ssdb-master/deps/jemalloc-4.1.0/include" -c options.cpp
g++ -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare -I "/root/ssdb/ssdb-master/deps/leveldb-1.20/include" -I "/root/ssdb/ssdb-master/deps/jemalloc-4.1.0/include" -c t_kv.cpp
g++ -DNDEBUG -D__STDC_FORMAT_MACROS -Wall -O2 -Wno-sign-compare -I "/root/ssdb/ssdb-master/deps/leveldb-1.20/include" -I "/root/ssdb/ssdb-master/deps/jemalloc-4.1.0/include" -c t_hash.cpp
t_hash.cpp: In member function ‘virtual int64_t SSDBImpl::hfix(const Bytes&)’:
t_hash.cpp:288: error: ‘UINT64_MAX’ was not declared in this scope
make[1]: *** [t_hash.o] Error 1
make[1]: Leaving directory `/root/ssdb/ssdb-master/src/ssdb'
解决方法:
#cd /root/ssdb/ssdb-master/src/ssdb
编辑t_hash.h文件,在#define SSDB_HASH_H_下面添加如下行:
#ifndef UINT64_MAX
#define UINT64_MAX (18446744073709551615ULL)
#endif
保存退出
#cd /root/ssdb/ssdb-master
#make
再次编译成功通过。
安装:
#make install
启动:
#./ssdb-server -d ssdb.conf
ssdb-server 1.9.7
Copyright (c) 2012-2015 ssdb.io
停止:
#./ssdb-server ssdb.conf -s stop
ssdb-server 1.9.7
Copyright (c) 2012-2015 ssdb.io
使用:
#./tools/ssdb-cli -p 8888
No module named readline
ssdb (cli) – ssdb command line tool.
Copyright (c) 2012-2016 ssdb.io
'h' or 'help' for help, 'q' to quit.
ssdb-server 1.9.7
ssdb 127.0.0.1:8888>
ssdb 127.0.0.1:8888> set hello world
ok
(0.002 sec)
ssdb 127.0.0.1:8888>
ssdb 127.0.0.1:8888>
ssdb 127.0.0.1:8888> get hello
world
(0.002 sec)