rosedb 2.1 和 2.2 版本已发布,请使用最新 2.2 版本。
项目地址:https://github.com/rosedblabs/rosedb
V2.1.0
新功能
支持迭代器,用户可以方便的使用其来遍历数据库中的所有数据,并且支持正向和反向迭代,迭代器的几个主要的方法如:
-
Rewind:回到迭代器的第一个 key -
Seek:找到第一个小于等于(或大于等于)给定 key 的值 -
Next:调到下一个 key -
Key:获取当前的 key -
Value:获取当前的 Value -
Close:关闭迭代器
支持前缀扫描,初始化迭代器时,可以传入一个前缀,只有匹配这个前缀的 Key 才会遍 历。基础使用方法如下:
// create an iterator
iterOptions := rosedb.DefaultIteratorOptions
iter := db.NewIterator(iterOptions)
defer
iter.Close()
// close the iterator after using it
// iterate all data in the database
for
; iter.Valid(); iter.Next() {
key := iter.Key()
val, _ := iter.Value()
println
(
string
(key),
string
(val))
}
Bug 修复
-
感谢 @rfyiamcool 贡献 PR -
#216 fix: update committed flag after batch commit
V2.2.0
新功能
-
支持 Merge 方法,用于回收磁盘上的无效数据,清理磁盘空间 -
Merge 将会重写数据库中所有有效的数据,这样可以丢弃掉无效的数据。 -
Merge 过程中会生成 Hint 文件,此文件只存储索引,用于快速启动数据库 -
Merge 操作有可能是一个非常耗时的操作,特别是在数据量较大的情况下,所以建议在数据库空闲的时候执行 -
添加 Windows 平台单元测试,可以在 Windows 上编译运行。添加对应的 workflow 测试脚本。