A high performance NoSQL Database Server powered by Go
Go to file
siddontang 115ca10a6c add py, openresty client 2014-06-30 10:56:32 +08:00
client add py, openresty client 2014-06-30 10:56:32 +08:00
cmd repair bugfix 2014-06-27 11:48:14 +08:00
doc add hmclear, lmclear and zmclear for multi keys 2014-06-27 16:28:32 +08:00
etc use our own leveldb 2014-06-19 17:19:40 +08:00
ledis move bin to another branch 2014-06-30 10:49:32 +08:00
leveldb add repair support 2014-06-26 11:04:54 +08:00
log use my own log 2014-06-19 17:50:27 +08:00
server add hmclear, lmclear and zmclear for multi keys 2014-06-27 16:28:32 +08:00
.gitignore rename to ledisdb, update 2014-05-09 14:49:22 +08:00
LICENSE Initial commit 2014-04-29 17:43:09 -07:00
README.md update document 2014-06-22 21:05:52 +08:00
README_CN.md update document 2014-06-22 21:05:52 +08:00
benchmark.md rename to ledisdb, update 2014-05-09 14:49:22 +08:00
bootstrap.sh use my own log 2014-06-19 17:50:27 +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's supports some advanced data structure like kv, list, hash and zset.

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.OpenWithConfig(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

Thanks

Gamil: cenqichao@gmail.com

Feedback

Gmail: siddontang@gmail.com