ITPub博客

首页 > 数据库 > NoSQL > SSDB安装和使用初探

SSDB安装和使用初探

原创 NoSQL 作者:chenfeng 时间:2019-01-15 14:39:18 0 删除 编辑

介绍: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)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15498/viewspace-2558364/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,PolarDB/PolarDB-X,PostgreSQL,MongoDB和Redis技术。

注册时间:2015-12-07

  • 博文量
    784
  • 访问量
    2689296