SSDB 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis._bo o ya ka的博客-程序员秘密

技术标签: java  数据结构与算法  数据库  

 

SSDB

一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.

特性

  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++PHP, Python, Java, Go
  • 持久化的队列服务
  • 主从复制, 负载均衡

 

性能

性能数据使用 ssdb-bench(SSDB) 和 redis-benchmark(Redis) 来获取.

 

架构

 

编译与安装

$ wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
$ unzip master
$ cd ssdb-master
$ make
$ #optional, install ssdb in /usr/local/ssdb
$ sudo make install

# start master $ ./ssdb-server ssdb.conf # or start as daemon $ ./ssdb-server -d ssdb.conf # ssdb command line $ ./tools/ssdb-cli -p 8888 # stop ssdb-server $ ./ssdb-server ssdb.conf -s stop # for older version $ kill `cat ./var/ssdb.pid`
 

安装时遇到问题

1、make报错

[[email protected] ssdb-master]# make 

ERROR! autoconf required! install autoconf first

Makefile:4: build_config.mk: No such file or directory
make: *** No rule to make target `build_config.mk'. Stop.

解决办法:

安装autoconf包。   yum -y install autoconf 。

 

2、make[1]: g++: Command not found

make[1]: g++: Command not found
make[1]: *** [db/builder.o] Error 127
make[1]: Leaving directory `/home/ssdb-master/deps/leveldb-1.18'
make: *** [all] Error 2

解决办法:

安装编译器。  yum -y install gcc gcc-c++

 

3、libsnappy.a: No such file or directory

g++ ...deps/snappy-1.1.0/.libs/libsnappy.a: No such file or directory
make[1]: *** [all] Error 1

解决办法:
到deps/snappy-1.1.0目录重新编译一遍。

$ cd deps/snappy-1.1.0
$ ./configure
$ make

4、
libjemalloc.a: No such file or directory
g++ ...deps/jemalloc-4.1.0/.libs/libjemalloc.a: No such file or directory
make[1]: *** [all] Error 1
解决办法:
到deps/jemalloc-4.1.0目录重新编译一遍。
$ cd deps/jemalloc-3.3.1
$ ./configure
$ make

 

操作文档:http://ssdb.io/ssdb-get-started.pdf 

 
参考连接:http://ssdb.io/zh_cn/
     https://github.com/ideawu/ssdb

 

转载于:https://www.cnblogs.com/helloworldPC/p/7069788.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30535843/article/details/98609660

智能推荐

漫画 | 程序员如何给女朋友解释什么是负载均衡_CSDN 程序人生的博客-程序员秘密

本文经授权转载自漫话编程(ID:mhcoding)周末晚上,和女朋友去电影院,准备看晚上的DC的海底动作冒险电影——海王。在入口处,人很多,有几个引导人员时不时的指挥观众...

autohotkey windows画板 Mspaint 快捷键_爱学习的小强~~的博客-程序员秘密_mspaint 颜色 快捷键

输出效果代码图Mspaint.ahk;热键标记; !感叹号代表Alt键; # 井号代表 Windows 键; ^ 上三角号代表 Ctrl键; + 加号代表 Shift 键; 执行; ::代表按下前面快捷键后会执行后面的命令。#IfWinActive ahk_exe Mspaint.exe{ ; ` 直线 `::setLine() ; 1 曲线 1::setCurve() ; 2 矩形 2::rectangle()

markdown设置字体颜色、大小、背景_Payshent的博客-程序员秘密_钉钉 markdown 字体颜色

CSDN的markdown编辑器是其衍生版本,扩展了Markdown的功能(如表格、脚注、内嵌HTML等等)就是内嵌HTML,接下来要讲的功能就需要使用内嵌HTML的方法来实现。一、颜色 在markdown中采用如下方式能够控制文字的颜色:浅红色文字:<font color="#dd0000">浅红色文字:</font><br /> 深红色文字:<font color="#660000">深红

从spring boot版本冲突的排查过程,针对maven依赖冲突最终解决方案,收藏!!!。_坚果大叔的博客-程序员秘密

maven依赖冲突最终解决方案报错现场定位报错原因问题解决拓展---maven如何解析 jar 包依赖本文会不断加入由于开发中遇到maven依赖冲突而出现报错。也感谢网友私下发给我你开发中遇到由于maven报错的信息。小编运行springboot应用发现如下报错,对于这个这次排查,总结了一下关于maven冲突时最终解决方案。本文用到了idea工具。报错现场java.lang.IllegalStateException: Error processing condition on org.springf

使用@JsonIgnore遇到的坑_zpypy的博客-程序员秘密

今天使用到了@JsonIgnore这一注解,记录一下遇到的问题。项目背景:这是一个springboot+vue前后端分离的项目,其中有一个功能是新增用户,前端post请求提交用户表单数据,后端在Controller层使用@RequestBody+实体类User进行接收,user中包含用户名,密码等信息。问题描述:在接收时发现密码字段得到的是空值,其他数据均为正常接收,问题定位:我已确认前端把所有数...

rpm命令详解_Cherls的博客-程序员秘密

转自:https://blog.csdn.net/qq_18312025/article/details/78080112 .apk –》android package# chkconfig --list --》查看Linux里开机启动的程序服务NetworkManager 0:关闭 1:关闭 2:启用...

随便推点

[C语言]编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。_88_Rising的博客-程序员秘密

编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#define _CRT_SECURE_NO_WARNINGS#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;string.h&gt;void Rever...

一分钟了解“MATLAB对图像任意mask滤波”_一点点一滴滴的博客-程序员秘密_matlab 如何给图像任意加mask

img=imread(‘1.bmp’); h1=fspecial('average',[3,3]);%h1也可以换成任意的maskresult=imfilter(img,h1);

码农小汪-spring框架学习之2-spring IoC and Beans 控制反转 依赖注入 ApplicationContext BeanFactory..._weixin_30252155的博客-程序员秘密

spring Ioc依赖注入控制反转事实上这个东西很好理解的,并非那么的复杂。当某个Java对象,须要调用还有一个Java对象的时候(被依赖的对象)的方法时。曾经我们的做法是怎么做呢?主动的去创建被依赖的对象,然后调用被依赖的方法。或者是通过工厂的方法去获取依赖的对象,实质是一样的。这些都是主动的去创建被依赖的对象。然后使用spring框架之后,调用者,无需主动的去获取被依...

李宏毅2020机器学习作业3——Convolutional Neural Network_科研鬼才的博客-程序员秘密_李宏毅 2020作业3

开始之前声明:本文参考了李宏毅机器学习作业说明(需翻墙),基本上是将代码复现了一遍,说明中用的是google colab(由谷歌提供的免费的云平台),我用的是Jupyter Notebook本文用到的资料在百度网盘自取点击下载,提取码:zdth。请将所需资料下载解压,确保资料中有6个文件,并保存到自己的目录当中。【博主的环境:Anaconda3+Jupyter Notebook,pyth...

uva 1414 - Hanoi Towers(dp)_JeraKrs的博客-程序员秘密_hanoi towers

题目连接:uva 1414 - Hanoi Towers题目大意:给出n,表示说有n个碟子,有三根柱子,进行汉诺塔游戏,不过不同的是说,移动碟子必须按照给出的顺序,如果可以移动,则必须移动当前的碟子到指定位置(所谓不能移动是因为其他位置上的碟子比当前位置上的要小);并且不能连续移动同一个碟子两次。解题思路:因为移动顺序被限制死了,所以移动的方案是固定的,而且除了最小的碟子以

推荐文章

热门文章

相关标签