代码拉取完成,页面将自动刷新
RoseDB 是一个基于 Bitcask 存储模型,轻量、快速、可靠的 KV 存储引擎。
Bitcask 存储模型的设计主要受到日志结构化的文件系统和日志文件合并的启发。
RoseDB 经过充分测试,可放心在生产环境使用。目前有一些用户已经在生产环境中使用 RoseDB 作为存储引擎。
没有找到您想要的功能? 请提出 issue 或 PR,项目目前处于积极维护状态,将会以最快的速度响应你的需求
RoseDB 存储数据的文件使用预写日志(Write Ahead Log),这些日志文件是具有 block 缓存的只追加写入(append-only)文件。
package main
import "github.com/rosedblabs/rosedb/v2"
func main() {
// 指定选项
options := rosedb.DefaultOptions
options.DirPath = "/tmp/rosedb_basic"
// 打开数据库
db, err := rosedb.Open(options)
if err != nil {
panic(err)
}
defer func() {
_ = db.Close()
}()
// 设置键值对
err = db.Put([]byte("name"), []byte("rosedb"))
if err != nil {
panic(err)
}
// 获取键值对
val, err := db.Get([]byte("name"))
if err != nil {
panic(err)
}
println(string(val))
// 删除键值对
err = db.Delete([]byte("name"))
if err != nil {
panic(err)
}
}
// 创建批处理
batch := db.NewBatch(rosedb.DefaultBatchOptions)
// 设置键值对
_ = batch.Put([]byte("name"), []byte("rosedb"))
// 获取键值对
val, _ := batch.Get([]byte("name"))
println(string(val))
// 删除键值对
_ = batch.Delete([]byte("name"))
// 提交批处理
_ = batch.Commit()
完整代码可查看 examples 示例代码。
欢迎加入 Slack 频道和 Discussions 和其他 RoseDB 开发者和使用者进行交流。
微信群:
可扫描下方二维码,邀请你加入 RoseDB 社区交流群,请备注 rosedb
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。