Go操作nutsdb
nutsdb简介
NutsDB是纯Go语言编写一个简单、高性能、内嵌型、持久化的key-value数据库。
NutsDB支持事务,从v0.2.0之后的版本开始支持ACID的特性,建议使用最新的release版本。v0.2.0之前的版本,保持高性能,没有作sync,但是具备高性能的写(本地测试,百万数据写入达40~50W+/s)。所有的操作都在事务中执行。NutsDB从v0.2.0版本开始支持多种数据结构,如列表(list)、集合(set)、有序集合(sorted set)。从0.4.0版本开始增加自定义配置读写方式、启动时候的文件载入方式、sync是否开启等
以下Demo代码地址
https://github.com/jeffcail/go-nutsdb-example
1 桶
同一个桶的key不能重复,不同桶中的key 可以重复
2 设置过期时间
Put()支持传入过期时间
3 更新和删除
Put() 值存在就更新,不存在就写入
4 遍历
键是以字节顺序保存的。
4.1 前缀遍历
4.2 范围遍历
5 获取某个桶的全部
6 列表
6.1
LPush: 从头部插入元素
LSize: 返回list长度
LPeek: 返回头部第一个元素
6.2
RPush: 从头部插入元素
RPeek: 返回头部第一哥元素
6.3
LPop: 从头部删除一个元素
RPop: 从尾部删除一个元素