1. 程式人生 > >Redis系列-遠端連線redis並給redis加鎖

Redis系列-遠端連線redis並給redis加鎖

本篇其實是可以和上篇合併的,但由於blog太長編輯麻煩,閱讀累人,打算新開一篇, 方便閱讀查詢。

假設兩臺redis伺服器,ip分別為:192.168.1.101和192.168.1.103,如何在101上通過redis-cli訪問103上的redis呢?在遠端連線103之前,先講下redis-cli的幾個關鍵引數:

用法:redis-cli [OPTIONS] [cmd [arg [arg ...]]]

-h <主機ip>,預設是127.0.0.1

-p <埠>,預設是6379

-a <密碼>,如果redis加鎖,需要傳遞密碼

--help,顯示幫助資訊

通過對rendis-cli用法介紹,在101上連線103應該很簡單:

[[email protected] ~]# redis-cli -h 192.168.1.103 -p 6379
redis 192.168.1.103:6379> 
在101上對103設定個個string值 user.1.name=zhangsan
redis 192.168.1.103:6379> set user.1.name zhangsan
OK
        看到ok,表明設定成功了。然後直接在103上登陸,看能不能獲取到這個值。
[[email protected] utils]# redis-cli 
redis 127.0.0.1:6379> get user.1.name
"zhangsan"
        木錯吧,確實是zhangsan,這說明101上連的是103上的redis伺服器。當然能夠成功連線103是有基本條件的,101上可以喝103上的6379埠通訊。

人人都可以連線redis伺服器是很危險的,我們需要給103上的redis設定個密碼,怎麼設定呢,需要編輯redis的配置檔案/etc/redis/6379.conf

[[email protected] utils]# vim /etc/redis/6379.conf 
      找到# requirepass foobared 去掉前面的註釋#,並把foobared 替換為你自己的密碼:hi, coder 
requirepass "hi, coder"
儲存配置檔案之後,重啟redis服務
[[email protected] utils]# /etc/init.d/redis_6379 stop
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
[[email protected] utils]# /etc/init.d/redis_6379 start
Starting Redis server...
101上重新連線103並獲取user.1.name的值
[[email protected] ~]# redis-cli -h 192.168.1.103 -p 6379
redis 192.168.1.103:6379> get user.1.name
(error) ERR operation not permitted
redis 192.168.1.103:6379> 
        為什麼是error呢,當然是因為連線103時沒傳遞密碼了,退出重新連
redis 192.168.1.103:6379> quit
[[email protected] ~]# redis-cli -h 192.168.1.103 -p 6379 -a "hi, coder"
redis 192.168.1.103:6379> get user.1.name
"zhangsan"

         看到zhangsan,說明你已經連線成功了。關於get、set    用法,在下個blog中講,沒有耐心的觀眾可以直接看這裡:http://redis.io/commands#string

微信掃碼,關注公眾號,獲取更多文章

 最新動態,請訪問:51RTB