本頁說明如何連線至 Memorystore for Redis Cluster 執行個體。
客戶支援
Memorystore for Redis Cluster 不提供專屬的用戶端程式庫,而是支援現有的第三方程式庫,這些程式庫支援 Redis 通訊協定。如需用戶端範例清單,請參閱 Redis 用戶端頁面。
Redis-py 用戶端最佳做法
如要使用 redis-py Python 用戶端連線至 Memorystore for Redis Cluster 執行個體,您必須在宣告 Redis Cluster 時新增 skip_full_coverage_check=True:
from rediscluster import RedisCluster endpoints = [{"host": "IPADDRESS", "port": "6379"}] rdb = RedisCluster( startup_nodes=endpoints, skip_full_coverage_check=True, # Required for Memorystore decode_responses = True) print(rdb.set('PYTHON', 'CLUSTER')) print(rdb.get('PYTHON')) print(rdb.unlink('PYTHON')) 將通訊埠加入防火牆允許清單
如果沒有在防火牆上將正確的通訊埠加入許可清單,執行個體可能會發生連線錯誤。如要進一步瞭解如何將通訊埠加入允許清單,請參閱「排解問題」。
跨區域存取
您可以從與 Memorystore 執行個體不同地區的用戶端存取 Memorystore for Redis Cluster 執行個體。
查看叢集的探索端點
如要查看 Memorystore 叢集的探索端點,請按照下列說明操作:
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下叢集 ID。
在「Connect to this instance」(連線至這個執行個體) 區段中,記下「Discovery Endpoint」(探索端點) 旁的 IP 位址和通訊埠號碼。這兩個值會一起使用,做為叢集的探索端點。
gcloud
如要查看叢集的探索端點,請按照「查看執行個體詳細資料」一節的說明,執行 describe gcloud CLI。
畫面會顯示如下的輸出內容:
authorizationMode: AUTH_MODE_DISABLED createTime: '2023-08-04T17:49:07.988918793Z' discoveryEndpoints: - address: 10.142.0.13 port: 6379 pscConfig: - network: projects/my-project-364018/global/networks/default name: projects/my-project-364018/locations/us-east1/clusters/my-cluster-1 pscConnections: - address: 10.142.0.13 forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/forwardingRules/sca-auto-fr-5bc46f69-ec80-4c5a-8971-ce267a4d8ddd network: projects/my-project-364018/global/networks/default projectId: my-project-364018 pscConnectionId: '25734306048376845' - address: 10.142.0.10 forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/. forwardingRules/sca-auto-fr-817b64c5-85ac-48d0-82e3-c6fa99b4e67d network: projects/my-project-364018/global/networks/default projectId: my-project-364018 pscConnectionId: '25734306048376842' replicaCount: 0 shardCount: 3 sizeGb: 39 state: ACTIVE tier: PERFORMANCE transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED uid: cddda5de-d91f-449b-8755-3a665430271a 記下 discovery_endpoints: 區段中列出的端點位址和通訊埠號碼。這兩個值合在一起就是叢集的探索端點。
使用 redis-cli 從 Compute Engine VM 連線
您可以從使用 Memorystore 執行個體授權網路的任何 Compute Engine VM,連線至 Memorystore for Redis Cluster 執行個體。
如要連線至執行個體,請按照下列步驟操作:
如果沒有使用 Memorystore for Redis Cluster 執行個體授權網路的 Linux Compute Engine VM,請按照「快速入門導覽課程:建立 Linux VM」建立並連線至 VM。
按照「在 Linux 上安裝 Redis」一文中的操作說明,在 Compute Engine VM 上安裝
redis-cli6.0 以上版本。查看叢集的探索端點,並記下該端點。
執行下列指令,連線至執行個體的探索端點:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
其中:
- DISCOVERY_ENDPOINT_ADDRESS 和 PORT_NUMBER 是您在上一步記下的值。
執行
CLUSTER SHARDS指令,查看叢集拓撲。記下其中一個節點的 IP 位址和通訊埠號碼。執行下列指令,連線至所需節點:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
更改下列內容:
- NODE_IP_ADDRESS 是您在上一個步驟中找到的節點 IP 位址。
- NODE_PORT 是您在上一個步驟中找到的節點埠號。
連線至節點後,輸入一些 Redis 指令:
輸入:
PING
結果:
PONG
Enter 鍵
SET HELLO WORLD
結果:
OK
輸入:
GET HELLO
結果:
"WORLD"
測試與 Redis 節點的連線後,建議您刪除用於連線至 Redis 執行個體的 Compute Engine VM。這樣做有助於避免系統向您的 Cloud 帳單帳戶收取費用。
連線至已啟用傳輸中資料加密功能的執行個體
本節提供範例,說明如何連線至已啟用傳輸中加密機制的 Memorystore for Redis Cluster 執行個體。
如果沒有與上個步驟的 Redis 執行個體使用相同授權網路的 Compute Engine VM,請按照「快速入門導覽課程:使用 Linux VM」建立及連線至 VM。
- 按照「在 Linux 上安裝 Redis」一文中的操作說明,在 Compute Engine VM 上安裝
redis-cli6.0 以上版本。
- 按照「在 Linux 上安裝 Redis」一文中的操作說明,在 Compute Engine VM 上安裝
按照「在用戶端上安裝憑證授權單位」一文中的操作說明,在 Linux VM 上安裝執行個體的憑證授權單位。
查看叢集的探索端點,並記下該端點。
執行下列指令,連線至執行個體的探索端點:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
其中:
- DISCOVERY_ENDPOINT_ADDRESS 和 PORT_NUMBER 是您在上一步記下的值。
執行
CLUSTER SHARDS指令,查看叢集拓撲。記下其中一個節點的 IP 位址和通訊埠號碼。執行下列指令,連線至所需節點:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
更改下列內容:
- NODE_IP_ADDRESS 是您在上一個步驟中找到的節點 IP 位址。
- NODE_PORT 是您在上一個步驟中找到的節點埠號。
連線至節點後,輸入一些 Redis 指令:
輸入:
PING
結果:
PONG