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/2.2.4.tar.gz $ cd phpredis-2.2.7 # 进入 phpredis 目录 $ /usr/local/php/bin/phpize # php安装后的路径 $ ./configure --with-php-config=/usr/local/php/bin/php-config $ make && make install
如果你是PHP7 版本,則需要下載指定分支:
git clone -b php7 https://github.com/phpredis/phpredis.git
修改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 sucessfully"; //查看服务是否运行 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 sucessfully"; //设置 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 sucessfully"; //存储数据到列表中 $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 Redis Mongodb Mysql
Redis PHP Keys 實例
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server sucessfully"; // 获取数据并输出 $arList = $redis->keys("*"); echo "Stored keys in redis:: "; print_r($arList); ?>
執行腳本,輸出結果為:
Connection to server sucessfully Stored string in redis:: tutorial-name tutorial-list