LedisDB介绍

[复制链接]
查看11 | 回复9 | 2014-2-19 11:55:14 | 显示全部楼层 |阅读模式
LedisDB
Ledisdb is a high performance NoSQL like Redis written by go. It supports some advanced data structure like kv, list, hash, zset, bitmap, and may be alternative for Redis.
LedisDB now supports multi databases as backend to store data, you can test and choose the proper one for you.
Features
Rich advanced data structure: KV, List, Hash, ZSet, Bitmap.
Stores lots of data, over the memory limit.
Various backend database to use: LevelDB, goleveldb, LMDB, RocksDB, BoltDB.
Supports expiration and ttl.
Redis clients, like redis-cli, are supported directly.
Multi client API supports, including Go, Python, Lua(Openresty).
Easy to embed in your own Go application.
Restful API support, json/bson/msgpack output.
Replication to guarantee data safe.
Supplies tools to load, dump, repair database.

回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Build and Install
Create a workspace and checkout ledisdb sourcemkdir $WORKSPACE
cd $WORKSPACE
git clone [email protected]:siddontang/ledisdb.git src/github.com/siddontang/ledisdb
cd src/github.com/siddontang/ledisdb
#set build and run environment
source dev.sh
make
make test复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
LevelDB support
Install leveldb and snappy.
LedisDB supplies a simple script to install leveldb and snappy:sh build_tool/build_leveldb.sh复制代码It will default install leveldb at /usr/local/leveldb and snappy at /usr/local/snappy.
LedisDB use the modified LevelDB for better performance, see here.
Set LEVELDB_DIR and SNAPPY_DIR to the actual install path in dev.sh.make复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
RocksDB support
Install rocksdb(shared_lib) and snappy first.
LedisDB has not supplied a simple script to install, maybe later.
Set ROCKSDB_DIR and SNAPPY_DIR to the actual install path in dev.sh.make复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Choose store database
LedisDB now supports goleveldb, lmdb, leveldb, rocksdb, boltdb, it will choose goleveldb as default to store data if you not set.
Choosing a store database to use is very simple, you have two ways:
Set in server config file"db" : {
"name" : "leveldb"
}复制代码Set in command flagledis-server -config=/etc/ledis.json -db_name=leveldb复制代码Flag command set will overwrite config set.
Caveat
You must known that changing store database runtime is very dangerous, LedisDB will not guarantee the data validation if you do it.
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
说个题外话 我觉得这个名字 ledis 读着像 lady's db
程序员们哪会用嘛!哈哈
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Server Example//set run environment if not
source dev.sh
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"
//use curl
curl http://127.0.0.1:11181/SET/hello/world
→ {"SET":[true,"OK"]}
curl http://127.0.0.1:11181/0/GET/hello?type=json
→ {"GET":"world"}复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Package Exampleimport "github.com/siddontang/ledisdb/ledis"
l, _ := ledis.Open(cfg)
db, _ := l.Select(0)
db.Set(key, value)
db.Get(key)复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Replication Example
Set slaveof in config or dynamicllyledis-cli -p 6381
ledis 127.0.0.1:6381> slaveof 127.0.0.1 6380
OK复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
特征:
Data Structure
Rich advanced data structure: KV, List, Hash, ZSet, Bitmap.
Various Backend
Various backend databases to choose:
LevelDB, goleveldb, LMDB, RocksDB or BoltDB.
Expiration & TTL
Supports expiration and ttl in all kinds of data structures.
CLI Support
Redis clients, like redis-cli, are supported directly.
Multi-Clients
Multiple clients API supports, including Go, Python, Lua(Openresty).
Easy Embedding
Easy to embed in Go application.
Data Protection
Replication to guarantee data safety.
Useful Tools
Supplies tools to load, dump, and repair database.
RESTful API
HTTP interfaces, can be directly accessed by HTTP Clients.
Supplies json、bson、msgpack as request content-type.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行