首页 > 后端开发 > Golang > 正文

我应该在 Google App Engine 中为每个请求创建一个新的 Firestore 客户端吗?

Patricia Arquette
发布: 2024-11-23 14:12:19
原创
321 人浏览过

Should I Create a New Firestore Client Per Request in Google App Engine?

可以在 Google App Engine 中根据请求创建 Firestore 客户端吗?

在 Google App Engine (GAE) 中,关于管理 Firestore 客户端的最佳方法。本文将解决这个问题,根据所使用的 GAE 运行时阐明最佳实践。

传统上,在旧版 GAE 标准运行时中,需要为每个请求创建一个新的 Firestore 客户端。然而,随着 GAE 标准引入 Go 1.11 运行时,开发人员现在拥有了更大的灵活性。

对于 Go 1.11 及更高版本的运行时,建议在初始化期间创建单例 Firestore 客户端,使用 main( ) 或 init() 函数,以及 context.Background()。这允许客户端在多个请求调用之间重用。下面是一个示例:

package main

import "cloud.google.com/go/firestore"

var client *firestore.Client

func init() {
  var err error
  client, err = firestore.NewClient(context.Background())
  // handle errors as needed
}

func handleRequest(w http.ResponseWriter, r *http.Request) {
  doc := client.Collection("cities").Doc("Mountain View")
  doc.Set(r.Context(), someData)
  // rest of the handler logic
}
登录后复制

这种方法不仅更高效,而且符合在 GAE 上下文中创建 Firestore 客户端的推荐模式。相比之下,为每个请求创建一个新客户端可能会导致不必要的开销和不便。

综上所述,如果在 GAE 标准中使用 Go 1.11 运行时,建议在初始化期间创建单个 Firestore 客户端并重用它对于所有请求调用。这种方法提高了性能并简化了代码维护。

以上是我应该在 Google App Engine 中为每个请求创建一个新的 Firestore 客户端吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板