您可以使用无服务器 VPC 访问通道从 App Engine 标准环境连接到 Redis 实例。
设置
如果您已安装 Google Cloud CLI 且已创建 Redis 实例,则可以跳过这些步骤。
- 安装 gcloud CLI 并初始化: - gcloud init
- 按照快速入门指南创建一个 Redis 实例。记下该 Redis 实例的地区、IP 地址和端口。 
配置无服务器 VPC 访问通道
要从 App Engine 应用连接到 Redis 实例的授权 VPC 网络,您必须设置无服务器 VPC 访问通道。
- 通过运行以下命令查找 Redis 实例的授权网络: - gcloud redis instances describe [INSTANCE_ID] --region [REGION]
- 按照创建连接器中的说明创建无服务器 VPC 访问通道连接器。请务必在应用所在的区域中创建连接器,并确保该连接器已连接到 Redis 实例的授权 VPC 网络。记下连接器的名称。 
示例应用
此示例 HTTP 服务器应用通过 App Engine 标准环境应用建立与 Redis 实例的连接。
克隆您所需编程语言的代码库,并转到包含示例代码的文件夹:
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
每次访问 / 端点时,此示例应用都会增加一个 Redis 计数器。
Go
此应用使用 github.com/gomodule/redigo/redis 客户端。通过运行以下命令进行安装:
go get github.com/gomodule/redigo/redis
Java
此应用基于 Jetty 3.1 servlet。
它使用 Jedis 库:
AppServletContextListener 类用于创建长效 Redis 连接池:
VisitCounterServlet 类是一个网络 Servlet,用于增加 Redis 计数器。
Node.js
此应用使用 redis 模块。
Python
准备应用进行部署
要访问 Redis 实例,App Engine 应用必须配置为使用无服务器 VPC 访问通道连接器,并且您必须提供 Redis 实例的连接详细信息。
- 如果您还没有 App Engine 应用,请创建一个。 
- 更新应用的配置以指定无服务器 VPC 访问通道连接器以及 Redis 实例的 IP 地址和端口: - Go- 更新 - gae_standard_deployment/app.yaml文件。- 如需了解详情,请参阅 app.yaml 配置文件。 - Java- 更新 - gae_standard_deployment/appengine-web.xml文件以指定无服务器 VPC 访问通道连接器:- 并使用 Redis 实例的 IP 地址和端口更新 - src/main/resources/application.properties文件:- 如需详细了解如何配置应用,请参阅 appengine-web.xml 参考。 - Node.js- 更新 - gae_standard_deployment/app.yaml文件。- 如需了解详情,请参阅 app.yaml 配置文件。 - Python- 更新 - gae_standard_deployment/app.yaml文件。- 如需了解详情,请参阅 app.yaml 配置文件。 
将应用部署到 App Engine 标准环境
如需部署应用,请执行以下操作:
- 将必要的配置文件复制到来源目录中: - Go- 将 - app.yaml和- go.mod文件复制到源目录中:- cp gae_standard_deployment/{app.yaml,go.mod} .- Java- 将 - appengine-web.xml文件复制到来源目录中:- mkdir -p src/main/webapp/WEB-INF cp gae_standard_deployment/appengine-web.xml src/main/webapp/WEB-INF/- Node.js- 将 - app.yaml文件复制到来源目录中:- cp gae_standard_deployment/app.yaml .- Python- 将 - app.yaml文件复制到来源目录中:- cp gae_standard_deployment/app.yaml .
- 运行 deploy 命令: - Go- gcloud app deploy- Java- mvn package appengine:stage gcloud app deploy target/appengine-staging/app.yaml- Node.js- gcloud app deploy- Python- gcloud app deploy
部署完成后,该命令将输出供您访问应用的网址。如果您访问此网址,就会看到每次加载页面时 Redis 实例上的计数都会增加。