Redis 連接命令介紹

Redis 連接命令主要是用於連接 redis 服務。

redis連接命令介紹

  • AUTH password
    • 說明:AUTH命令用來檢測給定的密碼和配置文件中的密碼是否相同
    • 返回:如果密碼匹配則返回OK,否則返回一個錯誤
    • 實例:
    10.117.8.188:6379> AUTH 1245  //沒有設置redis密碼
    (error) ERR Client sent AUTH, but no password is set
    10.117.8.188:6379> CONFIG SET requirepass "123456"
    OK
    10.117.8.188:6379> AUTH 123456
    OK
    
  • ECHO message
    • 說明:用於打印給定的字符串
    • 返回:返回字符串本身
    • 實例:
    10.117.8.188:6379> ECHO 'miss you'
    "miss you"
    
  • PING
    • 說明:客戶端向redis服務器發送一個PING,判斷服務器是否正常運行,正常返回PONG。通常用來測試與服務器的連接是否有效,或者用於測量延遲值
    • 返回:正常的返回PONG,否則返回一個錯誤
    • 實例:
    10.117.8.188:6379> ping  //連接正常
    PONG
    10.117.8.188:6379> ping  //連接不正常
    Could not connect to Redis at 10.117.8.188:6379: Connection refused
    
  • QUIT
    • 說明:用於關閉當前客戶端與redis服務器的連接。一旦所有等待中的回覆順利的寫入到客戶端,連接就會自動關閉。
    • 返回:總是返回OK;redis客戶端中執行直接返回到命令行
    • 實例:
    10.117.8.188:6379> QUIT
    www@iZ23dvyt70vZ:~ $ 
    
  • SELECT index
    • 說明:用於切換到指定的數據庫,index是指需要切換到的數據庫的索引值,索引從0開始。redis服務默認連接0號數據庫。總共16個數據庫(0-15)
    • 返回:總是返回OK
    • 實例:
    10.117.8.188:6379> SELECT 1
    OK
    10.117.8.188:6379[1]> SELECT 3  //注意 Redis 現在的命令提示符多了個 [1]
    OK
    10.117.8.188:6379[3]> SELECT 15 //注意 Redis 現在的命令提示符多了個 [3]
    OK
    

phpredis使用redis連接

  • connect(host,port,timeout,reserved,retry_interval,read_timeout), open()
    • 說明:連接到redis服務,兩個函數功能是相同的
    • 參數:
      • host:string類型,可以是主機IP地址,也可以是unix域套接字的路徑,必要參數
      • port:int類型,redis的對外端口,可選參數
      • timeout:float類型,連接的過期時間(s/秒),0表示無限制連接時間,可選參數
      • reserved:如果retry_interval存在,則reserved爲空null
      • retry_interval:int類型,斷線重連時間,單位毫秒,可選項
      • read_timeout:float類型,讀取數據過期時間,可選項
    • 返回:bool值,成功返回true,失敗返回false
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $res = $redis->connect('10.117.8.188',6379);
        var_dump($res); // bool(true)
    }
    
  • pconnect(host,port,timeout,reserved,retry_interval,read_timeout), popen()
    • 說明:和connect函數相似,參數類型和個數都一致,區別在於:pconnect是長連接,可以減少多次連接redis服務造成的資源浪費。
  • auth(password)
    • 說明:使用密碼對連接進行身份認證。注意:密碼已文本的形式通過網絡發送(安全係數低)
    • 參數:password(驗證身份用的密碼)
    • 返回:驗證成功返回true,失敗則返回false
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->auth('123456');
        var_dump($res); // 驗證失敗,bool(false)
    }
    
  • select(dbindex)
    • 說明:切換當前連接所用的數據庫
    • 參數:dbindex(數據庫索引值,0-15共16個數據庫)
    • 返回:成功切換返回true,失敗則返回false
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->select('12');
        var_dump($res); //切換成功,返回bool(true)
    }
    
  • swapdb(db1,db2)
    • 說明:自動交換一個Redis數據庫和另一個Redis數據庫
    • 參數:db1(給定的數據庫1),db2(給定的數據庫2)
    • 返回:成功返回true,失敗返回false
    • **注意:**該函數需要redis >= 4.0
    • 實例:redis版本2.8.9,無法執行該函數
  • close()
    • 說明:斷開redis客戶端與服務端的連接
    • 參數:無
    • 返回:斷開成功返回true,失敗返回false
    • **注意:**close函數在phpredis >= 4.2纔可以斷開redis長連接(pconnect)
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->close();
        var_dump($res); // 斷開成功,返回:bool(true)
    }
    
  • setOption(name,value)
    • 說明:設置當前redis客戶端的選項
    • 參數:
      • name:選項名稱
      • value:選項的值
    • 返回:選項設置成功返回true,失敗返回false
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->setOption(\Redis::OPT_PREFIX, 'myAppName:');
        var_dump($res);//bool(true) 設置鍵前綴
        $res1=$redis->setOption(\Redis::OPT_SERIALIZER,\Redis::SERIALIZER_PHP);
        var_dump($res1);//bool(true),設置序列化器
    }
    
  • getOption(name)
    • 說明:獲取當前客戶端設置的選項
    • 參數:name(選項的名稱)
    • 返回:選項的值
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $redis->setOption(\Redis::OPT_PREFIX, 'myAppName:');
        $redis->setOption(\Redis::OPT_SERIALIZER, \Redis::SERIALIZER_PHP);
        $res = $redis->getOption(\Redis::OPT_PREFIX);
        var_dump($res); // string(10) "myAppName:"
        $res1 = $redis->getOption(\Redis::OPT_SERIALIZER);
        var_dump($res1); // int(1)
    }
    
  • ping()
    • 說明:確認當前連接的狀態
    • 參數:無
    • 返回:狀態連接正確返回PONG,失敗則返回一個連接錯誤
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->ping();
        var_dump($res); // string(5) "+PONG"
    }
    
  • echo(message)
    • 說明:向redis服務器發送一個字符串,redis服務器返回一個相同的字符串回來
    • 參數:將要發送的字符串
    • 返回:返回發送出去的字符串
    • 實例:
    public function redisTestAction(){
        $redis = new \Redis();
        $redis->connect('10.117.8.188',6379);
        $res = $redis->echo('testmessage');
        var_dump($res); // string(11) "testmessage"
    }
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章