转载

SSDB - 一个快速的 NoSQL 数据库,Redis 替代品

SSDB is a high performace key-value(key-string, key-zset, key-hashmap) NoSQL database, an alternative to Redis .

SSDB is stable, production-ready and is widely used by many Internet companies including QIHU 360.

Features

  • LevelDB client-server support, written in C/C++
  • Designed to store collection data
  • Persistent key-value, key-zset, key-map('hashmap') storage
  • Redis clients are supported
  • Client API supports including C++, PHP, Python, Cpy, Java, nodejs, Ruby, Go( see all )
  • Persistent queue service
  • Replication(master-slave), load balance
  • GUI administration tool(phpssdbadmin)

PHP client API example

<?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

More...

Documentation

  • View online
  • Contribute to SSDB documentation project

Compile and Install

$ 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`

See Compile and Install wiki

Performance

Typical performance

Total 1000 requests.

writeseq  :    0.546 ms/op      178.7 MB/s writerand :    0.519 ms/op      188.1 MB/s readseq   :    0.304 ms/op      321.6 MB/s readrand  :    0.310 ms/op      315.0 MB/s 

SSDB vs Redis

SSDB - 一个快速的 NoSQL 数据库,Redis 替代品

View full SSDB vs Redis benchmark charts...

Concurrency benchmark

========== set ========== qps: 44251, time: 0.226 s ========== get ========== qps: 55541, time: 0.180 s ========== del ========== qps: 46080, time: 0.217 s ========== hset ========== qps: 42338, time: 0.236 s ========== hget ========== qps: 55601, time: 0.180 s ========== hdel ========== qps: 46529, time: 0.215 s ========== zset ========== qps: 37381, time: 0.268 s ========== zget ========== qps: 41455, time: 0.241 s ========== zdel ========== qps: 38792, time: 0.258 s 

Run on a 2013 MacBook Pro 13 inch with Retina display.

Architecture

SSDB - 一个快速的 NoSQL 数据库,Redis 替代品

Who's using SSDB?

SeeUsers wiki

Windows executable

Download ssdb-server.exe from here: https://github.com/ideawu/ssdb-bin

  • Author's homepage
  • Cpy Scripting Language
  • Google LevelDB
  • Lua ssdb client driver for the ngx_lua
  • Yet another ssdb client for Python
  • SSDB 中文文档

Changes made to LevelDB

See Changes-Made-to-LevelDB wiki

LICENSE

SSDB is licensed under New BSD License , a very flexible license to use.

正文到此结束
Loading...