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 }
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!