Heim  >  Artikel  >  Backend-Entwicklung  >  Sollte ich pro Anfrage einen neuen Firestore-Client in Google App Engine erstellen?

Sollte ich pro Anfrage einen neuen Firestore-Client in Google App Engine erstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-23 14:12:19340Durchsuche

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

Kann ein Firestore-Client pro Anfrage in Google App Engine erstellt werden?

In Google App Engine (GAE) gab es Unklarheiten bezüglich der optimale Ansatz zur Verwaltung von Firestore-Kunden. In diesem Artikel wird diese Frage behandelt und die Best Practices je nach verwendeter GAE-Laufzeit erläutert.

Traditionell war in der alten GAE-Standardlaufzeit die Erstellung eines neuen Firestore-Clients für jede Anfrage erforderlich. Mit der Einführung der Go 1.11-Laufzeit für den GAE-Standard haben Entwickler jedoch jetzt mehr Flexibilität.

Für Go 1.11 und neuere Laufzeiten wird empfohlen, während der Initialisierung einen Singleton-Firestore-Client zu erstellen, indem entweder der Haupt-( ) oder die Funktion init() mit context.Background(). Dies ermöglicht die Wiederverwendung des Clients über mehrere Anforderungsaufrufe hinweg. Hier ist ein Beispiel:

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
}

Dieser Ansatz ist nicht nur effizienter, sondern entspricht auch dem empfohlenen Muster zum Erstellen eines Firestore-Clients im Kontext von GAE. Im Gegensatz dazu kann das Erstellen eines neuen Clients pro Anfrage zu unnötigem Aufwand und Unannehmlichkeiten führen.

Zusammenfassend lässt sich sagen, dass bei Verwendung der Go 1.11-Laufzeit im GAE-Standard empfohlen wird, während der Initialisierung einen einzelnen Firestore-Client zu erstellen und ihn wiederzuverwenden für alle Anforderungsaufrufe. Dieser Ansatz bietet eine verbesserte Leistung und eine vereinfachte Codewartung.

Das obige ist der detaillierte Inhalt vonSollte ich pro Anfrage einen neuen Firestore-Client in Google App Engine erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn