2014-07-16 06:34:59 +04:00
<!DOCTYPE html>
< html >
< head >
< meta charset = 'utf-8' >
< meta http-equiv = "X-UA-Compatible" content = "chrome=1" >
2014-07-16 07:21:24 +04:00
<!-- link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css' -->
2014-07-16 06:34:59 +04:00
< link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css" media = "screen" / >
< link rel = "stylesheet" type = "text/css" href = "stylesheets/pygment_trac.css" media = "screen" / >
< link rel = "stylesheet" type = "text/css" href = "stylesheets/print.css" media = "print" / >
<!-- [if lt IE 9]>
< script src = "//html5shiv.googlecode.com/svn/trunk/html5.js" > < / script >
<![endif]-->
2014-07-16 16:59:07 +04:00
< title > LedisDB< / title >
2014-07-16 06:34:59 +04:00
< / head >
< body >
2014-07-17 08:30:57 +04:00
< a href = "https://github.com/siddontang/ledisdb" > < img style = "position: absolute; top: 0; right: 0; border: 0;" src = "https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt = "Fork me on GitHub" data-canonical-src = "https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" > < / a >
2014-07-16 06:34:59 +04:00
< div id = "container" >
< div class = "inner" >
< header >
2014-07-16 16:59:07 +04:00
< h1 > LedisDB< / h1 >
< h2 > a high performance NoSQL powered by Golang< / h2 >
2014-07-16 06:34:59 +04:00
< / header >
< section id = "downloads" class = "clearfix" >
< a href = "https://github.com/siddontang/ledisdb/zipball/master" id = "download-zip" class = "button" > < span > Download .zip< / span > < / a >
< a href = "https://github.com/siddontang/ledisdb/tarball/master" id = "download-tar-gz" class = "button" > < span > Download .tar.gz< / span > < / a >
< a href = "https://github.com/siddontang/ledisdb" id = "view-on-github" class = "button" > < span > View on GitHub< / span > < / a >
< / section >
< hr >
< section id = "main_content" >
< h1 >
< a name = "ledisdb" class = "anchor" href = "#ledisdb" > < span class = "octicon octicon-link" > < / span > < / a > LedisDB< / h1 >
< p > 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.< / p >
< h2 >
< a name = "features" class = "anchor" href = "#features" > < span class = "octicon octicon-link" > < / span > < / a > Features< / h2 >
< ul >
< li > Rich advanced data structure: KV, List, Hash, ZSet, Bit.< / li >
< li > Uses leveldb to store lots of data, over the memory limit. < / li >
< li > Supports expiration and ttl.< / li >
< li > Redis clients, like redis-cli, are supported directly.< / li >
< li > Multi client API supports, including Golang, Python, Lua(Openresty). < / li >
< li > Easily to embed in Golang application. < / li >
< li > Replication to guarantee data safe.< / li >
< li > Supplies tools to load, dump, repair database. < / li >
< / ul > < h2 >
< a name = "build-and-install" class = "anchor" href = "#build-and-install" > < span class = "octicon octicon-link" > < / span > < / a > Build and Install< / h2 >
< ul >
< li >
< p > Create a workspace and checkout ledisdb source< / p >
< pre > < code > mkdir $WORKSPACE
cd $WORKSPACE
git clone git@github.com:siddontang/ledisdb.git src/github.com/siddontang/ledisdb
cd src/github.com/siddontang/ledisdb
< / code > < / pre >
< / li >
< li >
< p > Install leveldb and snappy, if you have installed, skip.< / p >
< p > I supply a simple shell to install leveldb and snappy, you can use: < / p >
< pre > < code > sh build_leveldb.sh
< / code > < / pre >
< p > It will default install leveldb at /usr/local/leveldb and snappy at /usr/local/snappy< / p >
< / li >
< li > < p > Change LEVELDB_DIR and SNAPPY_DIR to real install path in dev.sh.< / p > < / li >
< li >
< p > Then:< / p >
< pre > < code > . ./bootstap.sh
. ./dev.sh
go install ./...
< / code > < / pre >
< / li >
< / ul > < h2 >
< a name = "run" class = "anchor" href = "#run" > < span class = "octicon octicon-link" > < / span > < / a > Run< / h2 >
< pre > < code > ./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"
< / code > < / pre >
< h2 >
< a name = "lib" class = "anchor" href = "#lib" > < span class = "octicon octicon-link" > < / span > < / a > Lib< / h2 >
< pre > < code > import "github.com/siddontang/ledisdb/ledis"
l, _ := ledis.Open(cfg)
db, _ := l.Select(0)
db.Set(key, value)
db.Get(key)
< / code > < / pre >
< h2 >
< a name = "replication" class = "anchor" href = "#replication" > < span class = "octicon octicon-link" > < / span > < / a > Replication< / h2 >
< p > set slaveof in config or dynamiclly< / p >
< pre > < code > ledis-cli -p 6381
ledis 127.0.0.1:6381> slaveof 127.0.0.1:6380
OK
< / code > < / pre >
< h2 >
< a name = "benchmark" class = "anchor" href = "#benchmark" > < span class = "octicon octicon-link" > < / span > < / a > Benchmark< / h2 >
< p > See benchmark.md for more.< / p >
< h2 >
< a name = "todo" class = "anchor" href = "#todo" > < span class = "octicon octicon-link" > < / span > < / a > Todo< / h2 >
< ul >
< li > Admin< / li >
< / ul > < h2 >
< a name = "godoc" class = "anchor" href = "#godoc" > < span class = "octicon octicon-link" > < / span > < / a > GoDoc< / h2 >
< p > < a href = "https://godoc.org/github.com/siddontang/ledisdb" > < img src = "https://godoc.org/github.com/siddontang/ledisdb?status.png" alt = "GoDoc" > < / a > < / p >
< h2 >
< a name = "commands" class = "anchor" href = "#commands" > < span class = "octicon octicon-link" > < / span > < / a > Commands< / h2 >
< p > Some server commands explaintions are < a href = "https://github.com/siddontang/ledisdb/wiki/Commands" > here< / a > , others will add continuate.< / p >
< h2 >
< a name = "thanks" class = "anchor" href = "#thanks" > < span class = "octicon octicon-link" > < / span > < / a > Thanks< / h2 >
< p > Gmail: < a href = "mailto:cenqichao@gmail.com" > cenqichao@gmail.com< / a > < / p >
< p > Gmail: < a href = "mailto:chendahui007@gmail.com" > chendahui007@gmail.com< / a > < / p >
< h2 >
< a name = "feedback" class = "anchor" href = "#feedback" > < span class = "octicon octicon-link" > < / span > < / a > Feedback< / h2 >
< p > Gmail: < a href = "mailto:siddontang@gmail.com" > siddontang@gmail.com< / a > < / p >
< / section >
< footer >
Ledisdb is maintained by < a href = "https://github.com/siddontang" > siddontang< / a > < br >
This page was generated by < a href = "http://pages.github.com" > GitHub Pages< / a > . Tactile theme by < a href = "https://twitter.com/jasonlong" > Jason Long< / a > .
< / footer >
< / div >
< / div >
< / body >
2014-07-16 16:59:07 +04:00
< script >
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-27956076-2', 'auto');
ga('send', 'pageview');
< / script >
2014-07-16 07:21:24 +04:00
< / html >