Database BoltDB作为后端数据库的性能

Database BoltDB作为后端数据库的性能,database,go,boltdb,Database,Go,Boltdb,我正在考虑使用BoltDB作为后端主DB,对我的Go代码没有什么疑问;还需要您对使用BoltDB作为主要后端数据库的意见 我使用Go的net/http,并使用boltDb作为全局变量 当程序启动时,它将读取BoltDB,文件将一直打开,直到程序终止 当向程序发送请求(http)时,它将访问BoltDB。(把手) 我没有使用任何频道 问题1。最重要的问题是,BoltDB是否能够生产1000个并发连接? 问题2。如果存在并发写入查询,BoltDB会自动逐个处理吗 非常感谢你。我是Go和BoltDB的

我正在考虑使用BoltDB作为后端主DB,对我的Go代码没有什么疑问;还需要您对使用BoltDB作为主要后端数据库的意见

  • 我使用Go的net/http,并使用boltDb作为全局变量
  • 当程序启动时,它将读取BoltDB,文件将一直打开,直到程序终止
  • 当向程序发送请求(http)时,它将访问BoltDB。(把手)
  • 我没有使用任何频道
  • 问题1。最重要的问题是,BoltDB是否能够生产1000个并发连接? 问题2。如果存在并发写入查询,BoltDB会自动逐个处理吗


    非常感谢你。我是Go和BoltDB的新手,我想知道我是否以正确的方式使用了正确的DB。

    A1。是的,我们使用它的方式有1000多个并发连接

    A2。是的,bolt是线程安全的,当您调用db.Update时,它将锁定数据库,因此您知道您的数据将始终保持一致


    还有一个提示,永远不要在更新功能中执行任何繁重的操作。

    非常感谢!您可能希望将*bolt.DB变量添加到http.Handler实现中,而不是全局变量,这样您可以更轻松地(并行)测试它。此外,它可以处理高并行读取并发性,但写入将被序列化。只要你的1000个请求不是都在写(或者是小写),你就应该没事了。