您可以從與 Redis 執行個體使用相同授權網路的 Compute Engine VM 執行個體連線至 Redis 執行個體。
設定
如果您已安裝 Google Cloud CLI、建立 Redis 執行個體,並建立 Cloud Storage 值區,可以略過這些步驟。
安裝 gcloud CLI 並初始化:
gcloud init
按照快速入門指南中的說明建立 Redis 執行個體。請記下 Redis 執行個體的區域、IP 位址和通訊埠。
建立 Cloud Storage 值區,本應用程式範例的應用程式成果將會上傳到這個值區。詳情請參閱「建立值區」。
設定應用程式範例的 gcloud 設定
- 將
gcloud
預設專案設為範例應用程式專案。gcloud config set project [PROJECT_ID]
應用程式範例
本 HTTP 伺服器應用程式範例會從 Compute Engine VM 執行個體與 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
類別是用來遞增 Redis 計數器的 Web Servlet:
Node.js
這個應用程式會使用 redis
模組。
Python
將應用程式部署到 Compute Engine VM
請前往 gce_deployment
目錄:
cd gce_deployment
部署指令碼會將成果上傳到 Cloud Storage 路徑,然後會啟動 Compute Engine 執行個體,並建立防火牆以公開通訊埠 8080。接著開機指令碼會準備執行個體。
設定 REDISHOST
和 REDISPORT
環境變數:
export REDISHOST=[REDISHOST] export REDISPORT=[REDISPORT]
其中:
REDISHOST
是受管理的 Redis 執行個體 IP。REDISPORT
是受管理的 Redis 執行個體通訊埠,預設為 6379。
設定 GCS_BUCKET_NAME
環境變數:
export GCS_BUCKET_NAME=[BUCKET_NAME]/[PATH]
其中:
BUCKET_NAME
是您 Cloud Storage 值區的名稱。PATH
是您要儲存應用程式成果的選用目錄路徑。
以下的部署指令碼範例用於將本應用程式部署到新的 Compute Engine VM 執行個體上。
Go
Java
Node.js
Python
執行部署指令碼:
chmod +x deploy.sh
./deploy.sh
應用程式開機指令碼
在部署指令碼範例中,會使用此開機指令碼來準備執行個體。如要進一步瞭解開機指令碼及查看開機指令碼執行記錄,請參閱執行開機指令碼。
Go
Java
Node.js
Python
可能需要花費幾分鐘的時間,才能將應用程式範例部署到新建立的 Compute Engine 執行個體上。
當執行個體處於就緒狀態且啟動指令碼執行完成時,請前往 Compute Engine 執行個體頁面並複製外部 IP 位址。
如要查看已部署的範例應用程式,請前往 http://[EXTERNAL-IP]:8080
您可以使用 teardown.sh
指令碼刪除部署指令碼建立的執行個體和防火牆: