这篇文章给大家分享的是有关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)