可以在 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中文网其他相关文章!