PHP 使用 Redis

PHP 使用 Redis

安裝

開始在 PHP 中使用 Redis 前, 我們需要確保已經安裝了 redis 服務及 PHP redis 驅動,且你的機器上能正常使用 PHP。 接下來讓我們安裝 PHP redis 驅動:下載地址為:https://github.com/phpredis/phpredis/releases

PHP安裝redis擴充套件

以下操作需要在下載的 phpredis 目錄中完成:

$ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz
$ tar zxvf 3.1.4.tar.gz                  # 解壓
$ cd phpredis-3.1.4                      # 進入 phpredis 目錄
$ /usr/local/php/bin/phpize              # php安裝後的路徑
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install

修改php.ini檔案

vi /usr/local/php/lib/php.ini

增加如下內容:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"

extension=redis.so

安裝完成後重啟php-fpm 或 apache。檢視phpinfo資訊,就能看到redis擴充套件。


連線到 redis 服務

<?php
    //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server successfully";
         //檢視服務是否執行
   echo "Server is running: " . $redis->ping();
?>

執行指令碼,輸出結果為:

Connection to server sucessfully
Server is running: PONG

Redis PHP String(字串) 例項

<?php
   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server successfully";
   //設定 redis 字串資料
   $redis->set("tutorial-name", "Redis tutorial");
   // 獲取儲存的資料並輸出
   echo "Stored string in redis:: " . $redis->get("tutorial-name");
?>

執行指令碼,輸出結果為:

Connection to server sucessfully
Stored string in redis:: Redis tutorial

Redis PHP List(列表) 例項

<?php
   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server successfully";
   //儲存資料到列表中
   $redis->lpush("tutorial-list", "Redis");
   $redis->lpush("tutorial-list", "Mongodb");
   $redis->lpush("tutorial-list", "Mysql");
   // 獲取儲存的資料並輸出
   $arList = $redis->lrange("tutorial-list", 0 ,5);
   echo "Stored string in redis";
   print_r($arList);
?>

執行指令碼,輸出結果為:

Connection to server sucessfully
Stored string in redis
Mysql
Mongodb
Redis

Redis PHP Keys 例項

<?php
   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server successfully";
   // 獲取資料並輸出
   $arList = $redis->keys("*");
   echo "Stored keys in redis:: ";
   print_r($arList);
?>

執行指令碼,輸出結果為:

Connection to server sucessfully
Stored string in redis::
tutorial-name
tutorial-list