youbbs
youbbs
3545 6 1

sdb:基于goleveldb的简单数据库

前段时间抽空写的一个关于 boltdb 与 goleveldb 的测试,测试参见 《Golang boltdb 与 leveldb 的读写性能比较》 https://www.youbbs.org/t/3210

sdb 主要是为了 hash 操作方便,接口与 youdb 吻合度很高,可以做很少的修改就能应用在 goyoubbs 程序。

主要接口:

db, _ := sdb.Open("testdb", nil)

db.Hset("name", "k", "v")
db.Hget("name", "k")
db.Hdel("name", "k")
db.Hincr("name", "k", 3)
db.Hscan("name", nil, 10)
db.Hrscan("name", nil, 10)

db.Zset("name", "k", 1)
db.Zget("name", "k")
db.Zdel("name", "k")
db.Zincr("name", "k", 3)
db.Zscan("name", nil, 10)
db.Zrscan("name", nil, 10)

开源地址 https://github.com/ego008/sdb

相关参考

1

See Also

Nearby


Discussion (6)

冒烟的蘑菇
冒烟的蘑菇 2020-02-23 14:21

感觉就是类似 redis 的接口,照着来的~所以我建议弄个 interface 封装一下,这样后端可通过配置方便的切换数据引擎~

不过好像没啥卵用~

0
youbbs
youbbs 2020-02-23 14:56

@冒烟的蘑菇 就是一个数据库的中间件,换个不同的数据库,就得编写中间件。真要着手去试的话,可综合考虑切换的方式、程序、中间件,都可以按需调整。

0
Mkdir
Mkdir 2022-02-07 23:01

sdb 确实不错,操作简单,性能很棒,个人的小站已上亿条数据,响应还很快。

0
FBB
FBB 2022-04-07 23:37

感觉很亲切,以前用 redis ,看着很熟悉,如果能有网络接口就更好,方便独立维护。

0
mutalisk999
mutalisk999 2022-06-04 00:25

做个web服务在外面包一下就行了

0
youbbs
youbbs 2022-06-04 00:32

@mutalisk999 #5 @FBB #4 独立的服务有个比较优秀的数据库 ssdb 数据结构类型很相似。

0
Login Topics