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
- youdb 一个操作简单的k-v数据库
- youbbs的安装出现的数据库问题
- SAE的数据库可以用到 php+mysql空间 吗
- 从数据库删贴和删除分类有什么副作用吗?
- 希望能对url进行简单自定义设置优化
Nearby
- 上一篇 › goyoubbs 代码释疑
- 下一篇 › 是否考虑抽象出数据库访问
感觉就是类似 redis 的接口,照着来的~所以我建议弄个 interface 封装一下,这样后端可通过配置方便的切换数据引擎~
不过好像没啥卵用~
@冒烟的蘑菇 就是一个数据库的中间件,换个不同的数据库,就得编写中间件。真要着手去试的话,可综合考虑切换的方式、程序、中间件,都可以按需调整。
sdb 确实不错,操作简单,性能很棒,个人的小站已上亿条数据,响应还很快。
感觉很亲切,以前用 redis ,看着很熟悉,如果能有网络接口就更好,方便独立维护。
做个web服务在外面包一下就行了
@mutalisk999 #5 @FBB #4 独立的服务有个比较优秀的数据库 ssdb 数据结构类型很相似。