BoltDB作为后端DB的性能

Gon*_*Gon 6 database go boltdb

我正在考虑使用BoltDB作为后端主数据库,并且对我的Go代码几乎没有疑问; 还需要您将BoltDB用作主后端数据库的意见.

  1. 我正在使用Go的net/http,并使用boltDb作为全局变量.
  2. 当程序启动时,它将读取BoltDB并且文件打开直到程序终止.
  3. 当请求(http)发送到程序时,它将访问BoltDB.(HandleFunc)
  4. 我没有使用任何频道.

Q1.最重要的问题是,BoltDB是否能够通过1000个并发连接进行生产?Q2.如果有并发写入查询,BoltDB会自动逐个处理吗?

非常感谢.我是Go和BoltDB的新手,我想知道我是否正确使用正确的DB.

One*_*One 6

A1.是的,我们使用它的方式超过1000个并发连接.

A2.是的,bolt是线程安全的,当你调用db.Update时,它会锁定数据库,所以你知道你的数据总是一致的.

还有一个提示,永远不要在更新功能内部进行任何繁重的工作.

  • 此外,它可以处理高并行读取并发性,但写入将被序列化.只要您的1000个请求不是全部写入(或者他们正在进行小写操作),您应该没问题. (2认同)