Database boltdb是否支持读取和更新数据库的并发查询?

Database boltdb是否支持读取和更新数据库的并发查询?,database,go,key-value-store,boltdb,Database,Go,Key Value Store,Boltdb,当前使用boltdb在bucket中存储各种条目 如何在db中读取和更新时使用goroutines和Channel?通常,您可以,只要您注意以下几点: 所有访问都应该在它们自己的事务中完成。事务不应在goroutine之间共享(无论它们是只读的还是读写的) boltdb在给定的时间点只允许一个编写器。如果多个并发事务试图同时写入,它们将被序列化。数据库的一致性是有保证的,但它会影响性能,因为写操作不能并行化 只读事务是并发执行的(并且可能是并行的) 在给定的goroutine中同时只打开一个事

当前使用
boltdb
在bucket中存储各种条目


如何在db中读取和更新时使用goroutines和Channel?

通常,您可以,只要您注意以下几点:

  • 所有访问都应该在它们自己的事务中完成。事务不应在goroutine之间共享(无论它们是只读的还是读写的)

  • boltdb在给定的时间点只允许一个编写器。如果多个并发事务试图同时写入,它们将被序列化。数据库的一致性是有保证的,但它会影响性能,因为写操作不能并行化

  • 只读事务是并发执行的(并且可能是并行的)

  • 在给定的goroutine中同时只打开一个事务以避免死锁情况


这是一个太宽泛的问题-你应该尝试自己实现目标,然后在遇到具体问题时寻求帮助克服这些障碍。