【问题标题】:Create new client for every operation to firestore?为firestore的每个操作创建新客户端?
【发布时间】:2020-05-17 07:08:58
【问题描述】:

我在 firestore Go Docs 中看到了类似的示例。我们是否必须为每个火存储操作创建一个如下所示的客户端,或者我们可以在应用程序启动期间创建一个客户端并使用同一个客户端执行操作?请告诉我。

ctx := context.Background()
client, err := firestore.NewClient(ctx, "project-id")
if err != nil {
    // TODO: Handle error.
}
defer client.Close()

type State struct {
    Capital    string  `firestore:"capital"`
    Population float64 `firestore:"pop"` // in millions
}

wr, err := client.Doc("States/Colorado").Create(ctx, State{
    Capital:    "Denver",
    Population: 5.5,
})
if err != nil {
    // TODO: Handle error.
}
fmt.Println(wr.UpdateTime)

【问题讨论】:

  • 这样的客户端对于顺序使用来说往往是安全的,对于并发使用来说通常是安全的。您需要浏览文档,或尝试检查。
  • 您可以使用在启动期间创建的同一客户端来执行操作。这是similar Stack post
  • 知道了。感谢您指点我发帖。

标签: firebase go google-cloud-firestore


【解决方案1】:

否。创建一次客户端并重复使用相同的客户端。这篇文章的更多细节 - Should a Firestore client be created per a request with Google App Engine?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 2012-04-21
    相关资源
    最近更新 更多