一个 Go 语言实现的高性能 NoSQL 数据库

430次阅读  |  发布于3年以前

NoSQL 数据库和关系数据库一样被广泛使用,虽然已经存在了很多成熟的产品,但依然有一些新产品出现。今天推荐的这款开源产品是使用 Go 语言实现的。

项目地址:https://github.com/ledisdb/ledisdb,Star 数 3.5k+。

Ledisdb 是用 Go 编写的高性能 NoSQL 数据库库和服务器。它类似于 Redis,但将数据存储在磁盘中。它支持许多数据结构,包括 kv,list,hash,zset,set 等。

此外 LedisDB 支持多个不同的数据库作为后端。具体特性如下:

作为 Server 的例子:

//set run environment if not
source dev.sh

./bin/ledis -config=/etc/ledis.conf

//another shell
./bin/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"}

作为 Go 包使用的例子:

import (
    lediscfg "github.com/ledisdb/ledisdb/config"
    "github.com/ledisdb/ledisdb/ledis"
)

# Use Ledis's default config
cfg := lediscfg.NewConfigDefault()
l, _ := ledis.Open(cfg)
db, _ := l.Select(0)

db.Set(key, value)

db.Get(key)

虽然不知道有没有人用于生产环境,但至少可以作为 Go 语言学习项目?!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8