Boltdb 中的批处理操作

Posted

技术标签:

【中文标题】Boltdb 中的批处理操作【英文标题】:Batching Operations in Boltdb 【发布时间】:2015-06-18 07:17:34 【问题描述】:

目前正在使用 db.Update() 更新 boltdb 中的键值。

err := db.Update(func(tx *bolt.Tx) error 

    b, err := tx.CreateBucket([]byte("widgets"))
    if err != nil 
        return err
    
    if err := b.Put([]byte("foo"), []byte("bar")); err != nil 
        return err
    
    return nil
)

如何使用 goroutine 使用 db.Batch() 操作?

【问题讨论】:

【参考方案1】:

只需从您的 goroutine 中调用 db.Batch() 即可。创建 Batch() 就是为了以这种方式使用。 documentation中有一个例子。

【讨论】:

谢谢!我看到了,它使用的是服务器。我需要一个更简单的例子,因为我是初学者。

以上是关于Boltdb 中的批处理操作的主要内容,如果未能解决你的问题,请参考以下文章

Boltdb源码分析----meta结构

在 BoltDB 中存储数据的最佳方式

存储引擎 boltdb 的设计奥秘?

Go语言中使用 BoltDB数据库

Go语言中使用 BoltDB数据库

Boltdb-key-Value 数据存储纯粹在 Go 中