介(jie)紹使(shi)用同一VPC內彈性云主(zhu)機ECS上的(de)Python Redis客戶端redis-py連(lian)接(jie)Redis實例的(de)方(fang)法(fa)。更多的(de)客戶端的(de)使(shi)用方(fang)法(fa)請參考。
說明連接單機、主備、Proxy集群(qun)實(shi)例建議(yi)使用redis-py,Cluster集群(qun)實(shi)例建議(yi)使用redis-py-cluster。
前提條件
- 已成功申請Redis實例,且狀態為“運行中”。
- 已創建彈性云主機,創建彈性云主機的方法,請參見《彈性云主機用戶指南》。
- 如果彈性云主機為Linux系統,該彈性云主機必須已經安裝python編譯環境。
操作步驟
步驟 1 查看并獲取待連接Redis實例的IP地址和(he)端(duan)口。
具體步驟請參見查看實例信息。
步驟 2 登錄彈(dan)性云主機。
本章節(jie)以彈(dan)性云(yun)主(zhu)機操作系統為centos為例(li)介紹通(tong)過python redis客戶端連接實例(li)。
步驟 3 連接(jie)Redis實例。
如(ru)果系統沒有自(zi)帶Python,可(ke)以使用yum方式安裝。
yum install python
說明要求系統python版本(ben)(ben)為3.6+,當默認(ren)python版本(ben)(ben)小(xiao)于3.6時(shi),可通過以下操作修改(gai)python默認(ren)版本(ben)(ben)。
- 刪除python軟鏈接文件: rm -rf python
- 重新創建新指向python:ln -s pythonX.X.X python,其中X為python具體版本號。
- 若是單機、主備、proxy集群實例。
a. 安裝Python和Python Redis客戶(hu)端redis-py。
i. 如(ru)果(guo)系統沒有自帶(dai)Python,可以(yi)使(shi)用yum方式(shi)安裝。
ii. 下載(zai)并解壓redis-py。
wget //github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
iii. 進(jin)入到解壓目錄后安裝Python Redis客(ke)戶端redis-py。
python setup.py install
安裝后執行python命令(ling),返回如下信息(xi)說明成功安裝redis-py:
執行python


b. 使用redis-py客戶端連接實例。以下步(bu)驟(zou)以命令行(xing)模式進行(xing)示例(也(ye)可以將命令寫(xie)入python腳本(ben)中再執(zhi)行(xing)):
i. 執行python命(ming)令,進入(ru)命(ming)令行模式。返回如下信(xin)息說(shuo)明已進入(ru)命(ming)令行模式:
進入命令行模式


ii. 在命令行(xing)中執行(xing)以下命令,連(lian)接Redis實例。
r = redis.StrictRedis(host='XXX.XXX.XXX.XXX', port=6379, password='******');
其中,XXX.XXX.XXX.XXX為(wei)Redis實(shi)(shi)例(li)的(de)(de)IP地(di)址(zhi),“6379”為(wei)Redis實(shi)(shi)例(li)的(de)(de)端口(kou)。IP地(di)址(zhi)和(he)端口(kou)獲(huo)取見步驟1,請按實(shi)(shi)際(ji)(ji)情況修改后(hou)執(zhi)行。 ********** 為(wei)創建Redis實(shi)(shi)例(li)時自定義的(de)(de)密碼,請按實(shi)(shi)際(ji)(ji)情況修改后(hou)執(zhi)行。
界面顯示一(yi)行新的命(ming)令行,說明(ming)連(lian)接Redis實例(li)成(cheng)功。可以輸入(ru)命(ming)令對數據庫進(jin)行讀(du)寫操作(zuo)。
連接redis成功


- 若是Cluster集群實例。
b. 安裝redis-py-cluster客(ke)戶端。
i. 執行以下命令下載(zai)released版本。
wget //github.com/Grokzen/redis-py-cluster/releases/download/2.1.3/redis-py-cluster-2.1.3.tar.gz
ii. 解壓壓縮包。
tar -xvf redis-py-cluster-2.1.3.tar.gz
iii. 進(jin)入(ru)到(dao)解壓目錄后(hou)安(an)裝Python Redis客戶端redis-py-cluster。
python setup.py install
c. 使用redis-py-cluster客戶端連接Redis實例。
以下(xia)步驟以命令(ling)行(xing)(xing)模式進行(xing)(xing)示例(也可以將(jiang)命令(ling)寫(xie)入(ru)python腳本中再執行(xing)(xing)):
i. 執行python命(ming)令,進入命(ming)令行模式。
ii. 在命(ming)(ming)令(ling)(ling)行(xing)中(zhong)執行(xing)以下(xia)命(ming)(ming)令(ling)(ling),連接Redis實(shi)例。如果(guo)實(shi)例為免密訪問,則省略命(ming)(ming)令(ling)(ling)中(zhong)的, password='******'
>>> from rediscluster import RedisCluster
>>> startup_nodes = [{"host": "192.168.0.143", "port": "6379"},{"host": "192.168.0.144", "port": "6379"},{"host": "192.168.0.145", "port": "6379"},{"host": "192.168.0.146", "port": "6379"}]
>>> rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True, password='******')
>>> rc.set("foo", "bar")
True
>>> print(rc.get("foo"))
'bar'