SSDB 编译和安装

2019-05-03 22:01|来源: 网路

强烈推荐你把 SSDB 部署在 Linux 操作系统上.

不要在生产环境中使用 Windows 操作系统来运行 SSDB 服务器. 如果你确实必须使用 Windows 操作系统, 请在上面运行一个 Linux 虚拟机, 然后再让 SSDB 运行于这个虚拟机之中.


编译和安装

wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
将安装在 /usr/local/ssdb 目录下

sudo make install


问题解决

如果出现如下错误:

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


或者

g++ ...deps/jemalloc-3.3.1/lib/libjemalloc.a: No such file or directory
make[1]:  [all] Error 1


这是因为 Snappy 或者 Jemalloc 没有编译成功, 这一般是因为你的系统时钟有问题. 可以这样解决:

cd deps/snappy-1.1.0;
./configure
make


或者

cd deps/jemalloc-3.3.1;
./configure
make


启动和停止

# 启动主库, 此命令会阻塞住命令行
./ssdb-server ssdb.conf
或者启动为后台进程(不阻塞命令行)

./ssdb-server -d ssdb.conf


启动 ssdb 命令行

./tools/ssdb-cli -p 8888


停止 ssdb-server

./ssdb-server ssdb.conf -s stop


对于旧版本

kill 
cat ./var/ssdb.pid


到目前为止, 你需要手动管理 ssdb-server 进程, 如果你希望在操作系统启动和停止时自动地管理, 请按下面的说明进行.


SSDB 启动脚本(随操作系统自启动)

假设你已经安装 SSDB 在默认的 /usr/local/ssdb 目录, 把 tools/ssdb.sh 脚本放到  /etc/init.d 目录下.

注意: 对于 CentOS 用户, 请将  ssdb.sh 重命名为  ssdb.

编辑下面的内容:

# each config file for one instance
configs=/data/ssdb_data/test/ssdb.conf


将 /data/ssdb_data/test/ssdb.conf 修改为你的 SSDB 配置文件的路径. 如果你有多个 SSDB 实例, 那么把它们写在一行, 用空格来分隔, 例如:

# each config file for one instance
configs=/data/ssdb_data/test/ssdb.conf /data/ssdb_data/demo/ssdb.conf


CentOS

sudo chkconfig --add ssdb
sudo chkconfig ssdb on


Ubuntu

TODO:



相关问答

更多
  • 编译:将源代码变为机器可执行的代码文件。 安装:将可执行文件安装到操作系统里,才可以使用。 补充:Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
  • 问题一:可以用wine。到http://winehq.org/site/download 可以查到安装方法。安装后在终端里执行 wine 程序目录+程序名 就可以啦 问题二:编译安装其实是你下载软件源码后用linux下命令使计算机将源码生成一个软件并安装 问题三:一般是不能的
  • 在centos 7上使用python3.5, 系统本身带有python2.7, 自己没有将默认的python从2.7链接为3.5。 然后安装python3使用的包: ssdb, 安装方式 pip3 install ssdb,或者 直接下载包源文件,进入文件内,安装 python3 setup.py install 。
  • 优点:SSDB 对内存的需求小,是个较便宜的方案。 不差钱的话,Redis 在性能、稳定性和社区上都更加优秀 缺点:SSDB 实现很低效,主要是依赖 leveldb 会按 key 来排序的特性 Redis 测试时数据量小,只读写了内存的可能性
  • 没有这个单词,根据您的拼写来看,考虑应是:stab. stab 英[stæb] 美[stæb] vt. 刺; 刺; 将…刺入; 对…做出刺或戳的动作; vi. 刺伤; 戳; 用或似用带尖的武器刺; n. 尝试; 用或似用带尖武器刺的伤口; 突发的一阵; [例句]Somebody stabbed him in the stomach 有人朝他肚子上捅了一刀。 [其他] 第三人称单数:stabs 复数:stabs 现在分词:stabbing过去式:stabbed 过去分词:stabbed
  • 额,说一下个人意见:mongodb,一般用来存储比较大的数据,一般都是实时的,缓存成html没多大意义 memacahe 确实是缓存到内存的,但是不是一直在内存中,会通过机制存储到磁盘中,生成一个文档,可是设置隔多少时间存储一次
  • return (Long) getHibernateTemplate().save(); 上面那个是Spring集成的hibernate。。。 如果是纯hibernate的话就是session.save(pojo)....返回的是一个Serializable的对象,可强转成Long或者Integer等封装类,需手动转换成基本类型如int,long等
  • 可以使用一些/etc/security/console.apps/目录下为用户配置的程序. 这个目录中包括允许控制台用户使用/sbin和/usr/sbin中的某些应用程序的配置文件. 这些配置文件和它们所设置的应用程序享有相同名称. 控制台用户可以使用的一组重要应用程序程序包括三个可以用来关闭或重新启动系统的程序: /sbin/halt /sbin/reboot /sbin/poweroff 因为这些都是支持PAM的应用程序,因此需要时都可以调用pam_console.so 模块.
  • 这是一种趋势所在,可以用机械硬盘,希望可以帮到你
  • 因为它们通常是在Linux / OSX上开发,优化,测试和主要使用的。 然而, Windows版本的Redis是一个高质量的端口,它只是通过所有ServiceStack.Redis测试套件的官方发行版的一个小版本点,因此如果您只能访问Windows服务器,那么它是Linux版本的合适替代品。 Because they're typically developed, optimized, tested and primarily used on Linux/OSX. However the Windows v ...