mirror of https://github.com/ledisdb/ledisdb.git
99 lines
2.1 KiB
Markdown
99 lines
2.1 KiB
Markdown
# 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.
|
|
|
|
## Features
|
|
|
|
+ Rich advanced data structure: KV, List, Hash, ZSet, Bit.
|
|
+ Uses leveldb to store lots of data, over the memory limit.
|
|
+ Supports expiration and ttl.
|
|
+ Redis clients, like redis-cli, are supported directly.
|
|
+ Multi client API supports, including Golang, Python, Lua(Openresty).
|
|
+ Easy to embed in Golang application.
|
|
+ Replication to guarantee data safe.
|
|
+ Supplies tools to load, dump, repair database.
|
|
|
|
## 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](https://godoc.org/github.com/siddontang/ledisdb?status.png)](https://godoc.org/github.com/siddontang/ledisdb)
|
|
|
|
## Commands
|
|
|
|
Some server commands explaintions are [here](https://github.com/siddontang/ledisdb/wiki/Commands), others will add continuate.
|
|
|
|
## Thanks
|
|
|
|
Gmail: cenqichao@gmail.com
|
|
|
|
Gmail: chendahui007@gmail.com
|
|
|
|
## Feedback
|
|
|
|
Gmail: siddontang@gmail.com |