A high performance NoSQL Database Server powered by Go
Go to file
siddontang ac5c64aab8 add MasterInfo for replication 2014-07-11 16:57:19 +08:00
client fix typo 2014-07-10 15:17:51 +08:00
cmd add handle binlog tool 2014-07-11 13:28:59 +08:00
doc fix param error 2014-07-08 22:05:50 +08:00
etc use our own leveldb 2014-06-19 17:19:40 +08:00
ledis add support for read and print bin log 2014-07-11 13:28:34 +08:00
leveldb use iterator to read many consistently in api 2014-07-10 11:32:37 +08:00
server add MasterInfo for replication 2014-07-11 16:57:19 +08:00
.gitignore update ledis-py, added new tests 2014-07-01 10:40:56 +08:00
LICENSE Initial commit 2014-04-29 17:43:09 -07:00
README.md update doc 2014-07-10 09:29:34 +08:00
benchmark.md update document 2014-07-02 14:18:28 +08:00
bootstrap.sh bug fix go get 2014-07-07 16:47:29 +08:00
build_leveldb.sh refactor, support use embedded ledisdb 2014-05-15 14:19:48 +08:00
dev.sh refactor, support use embedded ledisdb 2014-05-15 14:19:48 +08:00

README.md

LedisDB

Ledisdb is a high performance NoSQL like Redis based on LevelDB written by go. It supports some advanced data structure like kv, list, hash and zset, and may be alternative for Redis.

Build and Install

  • Create a workspace and checkout ledisdb source

      mkdir $WORKSPACE
      cd $WORKSPACE
      git clone git@github.com:siddontang/ledisdb.git src/github.com/siddontang/ledisdb
    
      cd src/github.com/siddontang/ledisdb
    
  • Install leveldb and snappy, if you have installed, skip.

    I supply a simple shell to install leveldb and snappy, you can use:

      sh build_leveldb.sh
    

    It will default install leveldb at /usr/local/leveldb and snappy at /usr/local/snappy

  • Change LEVELDB_DIR and SNAPPY_DIR to real install path in dev.sh.

  • Then:

      . ./bootstap.sh 
      . ./dev.sh
    
      go install ./...
    

Run

./ledis-server -config=/etc/ledis.json

//another shell
ledis-cli -p 6380

ledis 127.0.0.1:6380> set a 1
OK
ledis 127.0.0.1:6380> get a
"1"

Lib

import "github.com/siddontang/ledisdb/ledis"
l, _ := ledis.Open(cfg)
db, _ := l.Select(0)

db.Set(key, value)

db.Get(key)

Replication

set slaveof in config or dynamiclly

ledis-cli -p 6381 

ledis 127.0.0.1:6381> slaveof 127.0.0.1:6380
OK

Benchmark

See benchmark.md for more.

Todo

  • Admin

GoDoc

GoDoc

Commands

Some server commands explaintions are here, others will add continuate.

Thanks

Gmail: cenqichao@gmail.com

Gmail: chendahui007@gmail.com

Feedback

Gmail: siddontang@gmail.com