原文:https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713004.html
介紹使用同一VPC內彈性雲服務器ECS上的Redis-Cli連接Redis實例的方法,更多客戶端的使用方法請參考Redis客戶端。
如果是公網訪問Redis實例,請參考步驟三:連接Redis實例(Windows版)。
說明:
前提條件
- 已成功申請Redis實例,且狀態為“運行中”。
- 已創建彈性雲服務器,創建彈性雲服務器的方法,請參見創建彈性雲服務器 。
- 如果彈性雲服務器為Linux系統,該彈性雲服務器必須已經安裝gcc編譯環境。
操作步驟(Linux版)
- 查看並獲取待連接Redis實例的IP地址/域名和端口。
具體步驟請參見查看實例信息。
- 安裝Redis-cli客戶端詳請參考安裝客戶端。
以下步驟以客戶端安裝在Linux系統上為例進行描述。
- 登錄彈性雲服務器。
- 執行以下命令,獲取Redis客戶端源碼,下載路徑為http://download.redis.io/releases/redis-5.0.8.tar.gz。
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
- 執行如下命令,解壓Redis客戶端源碼包。
- 進入Redis目錄並編譯Redis客戶端源碼。
make
cd src
- 連接Redis非Cluster集群實例。
如果是Redis3.0、Redis4.0單機/主備/Proxy集群、Redis5.0單機/主備/Proxy集群實例,請執行以下操作。
- 執行以下命令連接Redis實例。
./redis-cli -h {dcs_instance_address} -p 6379
其中{dcs_instance_address}為Redis實例的IP地址/域名,“6379”為Redis實例的端口。IP地址/域名和端口獲取見1。
說明:
如果是Redis Proxy集群實例,{dcs_instance_address}可以為Redis實例的“連接地址”、“域名地址”、“后端服務地址”,獲取方法,在控制台單擊實例進入實例詳情頁面即可查看,如圖1所示。
- “連接地址”和“域名地址”為負載均衡器地址,系統將請求分發到不同的Proxy節點上。
- 使用“后端服務地址”,可以直接連接到指定的Proxy節點。
以下以使用Redis實例的域名地址為示例,具體請根據實際情況修改:
[root@ecs-redis redis-5.0.8]# cd src [root@ecs-redis src]# ./redis-cli -h redis-069949a-dcs-lxy.dcs.huaweicloud.com -p 6379 redis-069949a-dcs-lxy.dcs.huaweicloud.com:6379>
- 如果Redis實例設置了密碼訪問,則執行本步驟輸入密碼,校驗通過后才可進行緩存數據讀寫。
其中“<password>”為創建Redis實例時自定義的密碼,請按實際情況修改后執行。
密碼訪問回顯示例如下:
redis-069949a-dcs-lxy.dcs.huaweicloud.com:6379> auth ******* OK redis-069949a-dcs-lxy.dcs.huaweicloud.com:6379>
- 執行以下命令連接Redis實例。
- 連接Redis Cluster集群實例。
如果是Redis4.0 Cluster集群、Redis5.0 Cluster集群實例,請執行以下操作。
- 執行以下命令連接Redis實例。
./redis-cli -h {dcs_instance_address} -p 6379 -a {password} -c
其中,{dcs_instance_address}為Redis實例的IP地址/域名,“6379”為Redis實例的端口,{password}為Cluster集群實例的密碼,-c連接集群節點時使用。IP地址/域名和端口獲取見步驟1。
說明:
{dcs_instance_address}參數的值可以為Redis實例“連接地址”、“域名地址”、“實例拓撲”圖中分片上的“節點連接地址”。獲取方法,在控制台單擊實例進入實例詳情頁面即可查看,如圖2所示。
- “連接地址”字段中提供了兩個IP,這兩個IP地址均可用於連接實例,在連接時,可任選其中一個連接,都表示可以連接上集群實例,在進行數據讀寫時,key存儲在哪個slot中,由Crc16(key) mod 16384的值決定。
- 實例拓撲圖中分片上的“節點連接地址”,可以直接連接到指定的分片。
- 以下以使用Redis實例的IP連接為示例,具體請根據實際情況修改:
root@ecs-redis:~/redis-5.0.8/src# ./redis-cli -h 192.168.0.85 -p 6379 -a ****** -c 192.168.0.85:6379> - 以下以使用Redis實例的域名連接為示例,具體請根據實際情況修改:
root@ecs-redis:~/redis-5.0.8/src# ./redis-cli -h redis-51e463c-dcs-lxy.dcs.huaweicloud.com -p 6379 -a ****** -c redis-51e463c-dcs-lxy.dcs.huaweicloud.com:6379>
- 查看Cluster集群節點信息。
Cluster集群每一個分片都是一主一從的雙副本結構,執行該命令可以查看該實例的所有節點信息,如下所示。
192.168.0.85:6379> cluster nodes 0988ae8fd3686074c9afdcce73d7878c81a33ddc 192.168.0.231:6379@16379 slave f0141816260ca5029c56333095f015c7a058f113 0 1568084030 000 3 connected 1a32d809c0b743bd83b5e1c277d5d201d0140b75 192.168.0.85:6379@16379 myself,master - 0 1568084030000 2 connected 5461-10922 c8ad7af9a12cce3c8e416fb67bd6ec9207f0082d 192.168.0.130:6379@16379 slave 1a32d809c0b743bd83b5e1c277d5d201d0140b75 0 1568084031 000 2 connected 7ca218299c254b5da939f8e60a940ac8171adc27 192.168.0.22:6379@16379 master - 0 1568084030000 1 connected 0-5460 f0141816260ca5029c56333095f015c7a058f113 192.168.0.170:6379@16379 master - 0 1568084031992 3 connected 10923-16383 19b1a400815396c6223963b013ec934a657bdc52 192.168.0.161:6379@16379 slave 7ca218299c254b5da939f8e60a940ac8171adc27 0 1568084031 000 1 connected
備節點只能進行只讀操作,不能進行寫操作。在進行數據寫入時,key存儲在哪個slot中,由Crc16(key) mod 16384的值決定。
如下所示,數據寫入時,根據Crc16(key) mod 16384的值決定key存儲位置,並跳轉到該slot所在的節點上。
192.168.0.170:6379> set hello world -> Redirected to slot [866] located at 192.168.0.22:6379 OK 192.168.0.22:6379> set happy day OK 192.168.0.22:6379> set abc 123 -> Redirected to slot [7638] located at 192.168.0.85:6379 OK 192.168.0.85:6379> get hello -> Redirected to slot [866] located at 192.168.0.22:6379 "world" 192.168.0.22:6379> get abc -> Redirected to slot [7638] located at 192.168.0.85:6379 "123" 192.168.0.85:6379>
- 執行以下命令連接Redis實例。


