SSDB安裝和使用初探

chenfeng發表於2019-01-15

介紹: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

# 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部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2558364/,如需轉載,請註明出處,否則將追究法律責任。

相關文章