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: 117595

427 Responses to "SSDB"

  • 搭建phpssdbadmin,访问index.php,报错:
    No route for index.php!

    F:\ssdb\phpssdbadmin\iphp\framework\App.php:95 route()
    F:\ssdb\phpssdbadmin\iphp\framework\App.php:47 execute()
    F:\ssdb\phpssdbadmin\index.php:9 run()


    Copyright©2014 ideawu. All rights reserved. 3.00 ms

    请问这个route()函数哪里的;我的ssdb配在本地(127.0.0.1),操作系统是win7;
    这个错误要如何解决?另外登陆的user和password还需要设置吗?应该怎样设置? Reply
    @zhangyong: 需要按这上面的文档, 配置apache/nginx: https://github.com/ssdb/phpssdbadmin 如果还有问题, 请在上面的链接里面讨论. Reply
    @ideawu: 您好!在nginx+php下,在nginx的配置除了加入重定向以外,还需要加入别的配置语句吗?按照文档说明,只加入了重定向,访问index.php报404错误(通过nginx访问index.html是可以的,我的nginx版本是1.9.2,php版本是5.6.0) Reply
    @zhangyong: 除了文档所说的, 不需要其它的设置. 请在上面的网址提供更详细的信息. Reply
    @ideawu: 把phpssdnadmin下的index,改成<?php
    phpinfo();
    ?>可以正确显示;

    如果沿用原来的内容,页面上显示
    No route for index.php!

    F:\ssdb\phpssdbadmin\iphp\framework\App.php:95 route()
    F:\ssdb\phpssdbadmin\iphp\framework\App.php:47 execute()
    F:\ssdb\phpssdbadmin\index.php:9 run()
    Copyright©2014 ideawu. All rights reserved. 11.00 ms

    nginx下的log显示错误如下:

    我的nginx改了8000端口,没用80端口。nginx在c盘,phpssdbadmin在f盘;这个是nginx配置文件主要内容:
    location ./phpssdbadmin {
    try_files $uri $uri/ ./phpssdbadmin/index.php?$args;
    }
    location / {
    root html;
    index index.html index.htm ;
    }


    location ~ \.php$ {
    root F:/ssdb/phpssdbadmin;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    } Reply
  • 今天第一次试用SSDB,碰到个问题,写入大概20W的KV数据,重启SSDB后,客户端就无法连接了,提示Error 10061,把配置文件中的压缩关闭后重启,就可以连接了 Reply
  • 请问有IOS方面的相关demo吗? OC或swift Reply
  • 请问,ssdb的list,能支持大数据吗? 比如有上亿条key-list, 每个list里面,有数千至数万条value, 这种情况下,ssdb会很吃内存吗? Reply
    @sunsh217: 不会很吃内存,内存占用多少取决于你配置的写的buffer和读的cache的大小。
    一个 ssdb-server 实例占用的内存瞬时(有可能, 而且即使达到, 也只是持续短时间)最高达到(MB):cache_size + write_buffer_size * 66 + 32
    这是对于压缩选项没有开启的情况, 如果 compression: yes, 计算公式是:cache_size + 10 * write_buffer_size * 66 + 32
    你可以调整配置参数, 限制 ssdb-server 的内存占用.

    ref: http://ssdb.io/docs/zh_cn/config.html Reply
  • 关于网络协议那里,python3只能传字节类型的数据过去,如果数据有汉字,服务器会卡主。 Reply
    @hand: 请忽略这条。 Reply
  • 没有quene 的qdel函数,我网站有些功能没法开发,请求作者加上此函数。 Reply
  • quene/list 不支持删除功能,请把这个函数也加上好吗? 比如加一个 qdel(‘q’,3),表示删除q队列的第三个元素。 qdel的别名函数可以是qrem,功能一样。 Reply
  • 请问SSDB适合使用在SSD硬盘上吗?

    据说SSD存在4K对齐, 写入放大等问题, 也就是SSD硬盘的寿命问题.

    请问SSDB适合使用在SSD硬盘上吗?

    SSDB(或leveldb) 会经常的整理磁盘内容吗? 就是会产生比较多的写吗?

    ————————————————–
    我想这样使用SSD硬盘(不知是否可行):

    比如我有两块SSD硬盘, 写的时候顺序写入.

    1 对于磁盘A一周内只写不删(对于需要删除的数据,在其他系统里记录哪条数据是无效的),

    2 每周将磁盘A的数据导入到磁盘B(同时去除掉无效数据)

    这样来避免写入放大.

    这样就需要在写入的时候不要带来写入放大, 不知道SSDB能否实现这一点, 有没有更好的办法来使用SSD硬盘? Reply
    @geyu: SSDB适合用于SSD盘, 用于SSD盘时性能更好, 速度更快.

    一般的应用者不需要太关心硬件的某些特殊表现, 你可以找在存储设备(偏硬件)方面比较专业的地方讨论. Reply
  • 您好,最近在将项目由Redis向SSDB迁移,但是中间遇到了一个问题,一直得不到解决:Redis支持服务器脚本Lua,其较高性能、原子性都是很不错的,但是SSDB并不对此进行支持,我只好将我需要的操作写到客户端的代码中,但是操作的数目很多(大概几万多个zset分批用batch发送),其执行的速度同Redis+lua的方案比较要慢很多。不知道您是否考虑过Redis向SSDB迁移过程中会出现这种情况?有什么比较好的解决办法吗?我对SSDB是刚刚接触,不懂之处还请指教,谢谢 Reply
    @hlwang: SSDB 不计划像 Redis 那样支持 lua 脚本. 可以加入 qq 群讨论. Reply
  • zdel无效的问题,很奇怪。

    golang官方客户端连接SSDB,
    执行ssdb.Do("zdel",zsetname,zkey)
    然后删除不掉….

    SSDB版本是1.8.0 Reply

« [3][4][5][6][7][8][9][10][11] » 7/19

Leave a Comment