App Engine-Anwendungen müssen sich im selben autorisierten Netzwerk wie die Redis-Instanz befinden, um darauf zugreifen zu können.
Einrichtung
Wenn Sie die Google Cloud CLI bereits installiert und eine Redis-Instanz erstellt haben, können Sie diese Schritte überspringen.
Installieren Sie die gcloud CLI und initialisieren Sie Folgendes:
gcloud init
Folgen Sie der Schnellstartanleitung zum Erstellen einer Redis-Instanz. Notieren Sie sich die Zone, die IP-Adresse und den Port der Redis-Instanz.
Beispielanwendung
Diese HTTP-Server-Beispielanwendung stellt von einer Instanz der flexiblen App Engine-Umgebung eine Verbindung zu einer Redis-Instanz her.
Klonen Sie das Repository für die gewünschte Programmiersprache und rufen Sie den Ordner auf, der den Beispielcode enthält:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
Diese Beispielanwendung erhöht einen Redis-Zähler jedes Mal, wenn auf den Endpunkt /
zugegriffen wird.
Go
Diese Anwendung verwendet den github.com/gomodule/redigo/redis
-Client. Installieren Sie diesen mit dem folgenden Befehl:
go get github.com/gomodule/redigo/redis
Java
Diese Anwendung basiert auf dem Jetty-Servlet 3.1.
Sie verwendet die Jedis-Bibliothek:
Die Klasse AppServletContextListener
wird zum Erstellen eines langlebigen Redis-Verbindungspools verwendet:
Die Klasse VisitCounterServlet
ist ein Web-Servlet, das einen Redis-Zähler schrittweise erhöht.
Node.js
Diese Anwendung verwendet das Modul redis
.
Python
Diese Anwendung verwendet Flask für das Web-Serving und das redis-py
-Paket für die Kommunikation mit der Redis-Instanz.
Anwendung für die Bereitstellung vorbereiten
Für den Zugriff auf die Redis-Instanz muss die App Engine-Instanz im selben autorisierten Netzwerk wie die Redis-Instanz bereitgestellt werden. Außerdem müssen Sie die Verbindungsdetails Ihrer Redis-Instanz angeben. Mit dem folgenden Befehl können Sie das autorisierte Netzwerk, die IP-Adresse und den Port Ihrer Redis-Instanz ermitteln:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Erstellen Sie eine App Engine-Anwendung.
Aktualisieren Sie die Konfiguration der Anwendung, um die IP-Adresse, den Port und das Netzwerk Ihrer Redis-Instanz anzugeben:
Go
Aktualisieren Sie die Datei
gae_flex_deployment/app.yaml
:Weitere Informationen finden Sie unter App mit app.yaml konfigurieren.
Java
Aktualisieren Sie die Datei
gae_flex_deployment/app.yaml
, um das Netzwerk Ihrer Redis-Instanz anzugeben:Und aktualisieren Sie die Datei
src/main/resources/application.properties
mit der IP-Adresse und dem Port Ihrer Redis-Instanz:Weitere Informationen zum Konfigurieren Ihrer Anwendung finden Sie unter Anwendung mit app.yaml konfigurieren.
Node.js
Aktualisieren Sie die Datei
gae_flex_deployment/app.yaml
:Weitere Informationen finden Sie unter App mit app.yaml konfigurieren.
Python
Aktualisieren Sie die Datei
gae_flex_deployment/app.yaml
:Weitere Informationen finden Sie unter App mit app.yaml konfigurieren.
Anwendung in der flexiblen App Engine-Umgebung bereitstellen
So stellen Sie die Anwendung bereit:
Kopieren Sie die erforderlichen Konfigurationsdateien in das Quellverzeichnis:
Go
Kopieren Sie die Datei
app.yaml
in das Quellverzeichnis:cp gae_flex_deployment/app.yaml .
Java
Kopieren Sie die Datei
app.yaml
in das Quellverzeichnis:mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
Kopieren Sie die Datei
app.yaml
in das Quellverzeichnis:cp gae_flex_deployment/app.yaml .
Python
Kopieren Sie die Datei
app.yaml
in das Quellverzeichnis:cp gae_flex_deployment/app.yaml .
Führen Sie den Bereitstellungsbefehl aus:
Go
gcloud app deploy
Dies kann einige Minuten dauern.
Java
mvn appengine:deploy
Dies kann einige Minuten dauern.
Node.js
gcloud app deploy
Dies kann einige Minuten dauern.
Python
gcloud app deploy
Dies kann einige Minuten dauern.
Rufen Sie nach Abschluss der Bereitstellung Ihre Anwendung unter der folgenden URL auf und ersetzen Sie [PROJECT_ID]
durch Ihre Google Cloud-Projekt-ID:
https://[PROJECT_ID].appspot.com
Die Anzahl der Redis-Instanzen erhöht sich bei jedem Besuch der Anwendung.