ledisdb/README_CN.md

1.9 KiB
Raw Blame History

ledisdb

ledisdb是一个用go实现的类似redis的高性能nosql数据库底层基于leveldb实现。提供了kvlisthash以及zset几种数据结构的支持。

最开始源于ssdb在使用了一段时间之后因为兴趣的原因决定用go实现一个。

编译

  • 创建一个工作目录并check ledisdb源码

      mkdir $WORKSPACE
      cd $WORKSPACE
      git clone git@github.com:siddontang/ledisdb.git src/github.com/siddontang/ledisdb
    
      cd src/github.com/siddontang/ledisdb
    
  • 安装leveldb以及snappy如果你已经安装忽略

    我提供了一个简单的脚本进行leveldb的安装你可以直接在shell中输入

      sh build_leveldb.sh
    

    默认该脚本会将leveldb以及snappy安装到/usr/local/leveldb以及/usr/local/snappy目录

  • 在dev.sh里面设置LEVELDB_DIR以及SNAPPY_DIR为实际的安装路径默认为/usr/local/leveldb以及/usr/local/snappy

  • 运行bootstrap.sh构建ledisdb go的依赖库

      . ./bootstap.sh 或者 source ./bootstrap.sh
    
  • 运行dev.sh

      . ./dev.sh 或者 source ./dev.sh
    
  • 编译安装ledisdb

      go install ./...
    

运行

./ledis-server -config=/etc/ledis.json

//another shell
redis-cli -p 6380

redis 127.0.0.1:6380> set a 1
OK
redis 127.0.0.1:6380> get a
"1"

嵌入库

import "github.com/siddontang/ledisdb/ledis"
l, _ := ledis.OpenWithConfig(cfg)
db, _ := l.Select(0)

db.Set(key, value)

db.Get(key)

Benchmark

可以通过查看benchmark.md获取最新的性能测试结果

Replication

通过配置或者运行时输入slaveof开启slave的replication功能

redis-cli -p 6381 

redis 127.0.0.1:6381> slaveof 127.0.0.1:6380
OK

Todo

  • Admin

感谢

Gamil: cenqichao@gmail.com

联系我

Gmail: siddontang@gmail.com