Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

SSDB - A fast NoSQL database, an alternative to Redis

License

NotificationsYou must be signed in to change notification settings

ideawu/ssdb

Repository files navigation

AuthorPlatformNoSQLLicense

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'), key-list 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)
  • Built-in CLI nagios self-checks

PHP client API example

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

More...

Who's using SSDB?

SSDB users...

Documentation

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`

SeeCompile and Install wiki

Performance

Typical performance

Total 1000 requests.

writeseq  :    0.546 ms/op      178.7 MB/swriterand :    0.519 ms/op      188.1 MB/sreadseq   :    0.304 ms/op      321.6 MB/sreadrand  :    0.310 ms/op      315.0 MB/s

SSDB vs Redis

Benchmark vs 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 architecture

Windows executable

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

SSDB library for iOS

make ios# ls ios/include/ libleveldb-ios.a libsnappy-ios.a libssdb-ios.a libutil-ios.a

Drag the static libraies files into your iOS project. Then addios/include to your iOS project'sHeader Search Paths, which is set inBuild Settings.

Links

Changes made to LevelDB

SeeChanges-Made-to-LevelDB wiki

LICENSE

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

Authors

@ideawu(wuzuyang1@gmail.com)

Thanks


[8]ページ先頭

©2009-2025 Movatter.jp