ledisdb/index.html

178 lines
6.3 KiB
HTML
Raw Normal View History

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&gt; set a 1
OK
ledis 127.0.0.1:6380&gt; 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&gt; 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>