SSDB

SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 zset(sorted set), map(hash), kv, list 等数据结构, 用来替代或者与 Redis 配合存储十亿级别的列表数据. SSDB 同时也被国内外业界的众多互联网企业所使用, 如 QIHU 360, TOPGAME, 汽车之家, 比亚迪等.

项目主页: https://github.com/ideawu/ssdb
SSDB 文档: http://ssdb.io/docs/zh_cn/
谁在用 SSDB: http://ssdb.io/docs/zh_cn/users.html
官方QQ群: 170983373

2014开源中国开源世界高峰论坛, 中国开源优秀项目奖项目

SSDB 的主要特点:

  • 支持 zset, map/hash, list, kv 数据结构, 可替代 Redis
  • 特别适合存储大量集合数据, 支持丰富的数据结构: key-value, key-map, key-zset, key-list.
  • 使用 Google LevelDB 作为存储引擎
  • 支持主从同步, 多主同步
  • 客户端支持 PHP, C++, Python, Lua, Java, Ruby, nodejs, Go 等
  • 内存占用极少
  • 图形化界面管理工具(phpssdbadmin)

PHP API

<?php
require_once('SSDB.php');
$ssdb = new SimpleSSDB('127.0.0.1', 8888);
$resp = $ssdb->set('key', '123');
$resp = $ssdb->get('key');
echo $resp; // output: 123

PHP API 文档: http://ssdb.io/docs/zh_cn/php/

SSDB vs Redis

SSDB vs Redis

SSDB 架构

Views: 109316

421 Responses to "SSDB"

  • 请问SSDB中,使用zset的时候,里面的key长度限制是多少? Reply
  • 使用php的multi_set写入数据的时候,总是出现这种错误
    php返回
    PHP Fatal error: Uncaught exception ‘SSDBException’ with message ‘Connection lost’ in /opt/ssdb-master/api/php/SSDB.php:692
    Stack trace:
    #0 /opt/ssdb-master/api/php/SSDB.php(515): SSDB->recv()
    #1 /opt/ssdb-master/api/php/SSDB.php(155): SSDB->recv_resp(‘multi_set’)
    #2 /opt/ssdb-master/api/php/SSDB.php(192): SSDB->__call(‘multi_set’, Array)
    #3 /opt/php_search/make_index.php(26): SSDB->multi_set(Array)
    #4 {main}
    thrown in /opt/ssdb-master/api/php/SSDB.php on line 692

    ssdb的log返回这个信息。
    2015-03-19 17:23:22.275 [INFO ] ssdb-server.cpp(190): fd: 18 error, delete link
    2015-03-19 17:23:22.317 [INFO ] ssdb-server.cpp(190): fd: 19 error, delete link
    2015-03-19 17:23:22.362 [INFO ] ssdb-server.cpp(190): fd: 21 error, delete link
    2015-03-19 17:23:22.407 [INFO ] ssdb-server.cpp(190): fd: 22 error, delete link
    2015-03-19 17:23:22.452 [INFO ] ssdb-server.cpp(190): fd: 23 error, delete link Reply
    @szpeter: 你是不是一次更新太多了? 请尽量控制在1000条以内, 所有key-value总和大小不超过10M. Reply
  • 博主,你好
    请问,Python API文档在哪里? Reply
  • 请问 SSDB 的全称? Reply
  • 请问如何配置SSDB的密码? Reply
  • 部署ssdb1.8一天了,目前情况良好,感谢博主的分享。 Reply
    @微博档案: 谢谢支持. Reply
    @ideawu: 今天ssdb挂了一次,不知道是否因为内存不够原因,我看能不能复现。 Reply
    @微博档案: 你看看是不是 max open files 的问题, 参见官网文档上的配置一节. Reply
    @ideawu: 已修改这个问题,但是最近又挂了14次,我应该怎么排查问题呢? Reply
    @ideawu: 谢谢,已修改。 Reply
  • 同理,如何返回一个zlist内所有数据的数量。
    总不能用zcount(zsetname,0,9999999999999999999999999999999)吧?
    我现在就是要返回名字为zsetname里一共有多少条数据。
    存入的数据只知道最小值为0,最大值未知. Reply
    @Zanetti: 请使用 zsize 命令, 请务必看最基本的文档. 谢谢! Reply
  • zlist命令里有三个参数,如何才能让zlist返回所有符合条件的数据呢?
    难道要把最后一个参数(决定返回数量的)设定为999999999999999999999999?
    PS:数据条数未知,有没有别的办法让符合条件的数据全部返回 Reply
    @Zanetti: 请使用分段遍历, 一次只遍历一部分, 如10条, 然后拿最后一条作为下一页的开始. Reply
  • 你好,能否关闭存储功能? Reply
    @daemonh: 如果想关闭 SSDB 的存储功能, 你想找的其实是 Redis. Reply
    @ideawu: 感谢回复。我已经用ssdb了,不想再去弄redis。
    有的需求,其实不须要持久化的,比如,动态信息。 Reply
  • 你好,我们想用SSDB做一个TOMCAT的SESSION托管功能。看到之前的评论有说目前SSDB已经支持REDIS的网络协议,请问我们是否可以用JEDIS的JAVA客户端来访问SSDB呢?如果可以的话,是否意味着目前的基于JEDIS客户端的REDIS-SESSION-MANAGER直接可以用于SSDB? Reply
    @bluesteed: SSDB 支持 JEDIS 访问, 理论上也支持 REDIS-SESSION-MANAGER, 但需要经过测试. Reply
    @ideawu: 你说的支持JEDIS访问应该也是部分吧,我看JEDIS里面很多实现的具体方法目前SSDB都赞不支持的,比如KEYS *之类的方法。我们目前测了下,创建SESSION的时候都正常,但更多的后续SESSION管理类的细节还未知。 Reply

« [4][5][6][7][8][9][10][11][12] » 8/18

Leave a Comment