本頁說明如何連線至 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-cli
6.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-cli
6.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