Maison > développement back-end > Golang > le corps du texte

Dois-je créer un nouveau client Firestore par requête dans Google App Engine ?

Patricia Arquette
Libérer: 2024-11-23 14:12:19
original
321 Les gens l'ont consulté

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

Un client Firestore peut-il être créé par requête dans Google App Engine ?

Dans Google App Engine (GAE), il y a eu une ambiguïté concernant l'approche optimale pour gérer les clients Firestore. Cet article abordera cette question, en clarifiant les meilleures pratiques en fonction du runtime GAE utilisé.

Traditionnellement, dans l'ancien runtime standard GAE, il était nécessaire de créer un nouveau client Firestore pour chaque requête. Cependant, avec l'introduction du runtime Go 1.11 pour la norme GAE, les développeurs disposent désormais de plus de flexibilité.

Pour Go 1.11 et les runtimes plus récents, il est recommandé de créer un client Firestore singleton lors de l'initialisation, en utilisant soit le main( ) ou la fonction init(), avec la fonction context.Background(). Cela permet la réutilisation du client sur plusieurs appels de requêtes. Voici un exemple :

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
}
Copier après la connexion

Cette approche est non seulement plus efficace, mais s'aligne également sur le modèle recommandé pour créer un client Firestore dans le contexte de GAE. En revanche, la création d'un nouveau client par requête peut entraîner une surcharge et des désagréments inutiles.

En résumé, si vous utilisez le runtime Go 1.11 dans la norme GAE, il est recommandé de créer un seul client Firestore lors de l'initialisation et de le réutiliser. pour tous les appels de requêtes. Cette approche offre des performances améliorées et une maintenance simplifiée du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal