phpredis
介紹使用同一(yi)VPC內彈性云(yun)主機ECS上的(de)phpredis連(lian)接Redis的(de)方法。更多的(de)客戶(hu)端的(de)使用方法請參考。
說明
本章節操(cao)作,僅適用(yong)(yong)于連接單機、主備、Proxy集群實例,如果是使用(yong)(yong)phpredis客戶(hu)端連接Cluster集群,請參考phpredis客戶(hu)端使用(yong)(yong)說明
前提條件
- 已成功申請Redis實例,且狀態為“運行中”。
- 已創建彈性云主機,創建彈性云主機的方法,請參見《彈性云主機用戶指南》。
- 如果彈性云主機為Linux系統,該彈性云主機必須已經安裝gcc編譯環境。
操作步驟
步驟 1 查看并獲取待連接Redis實例的IP地(di)址和(he)端(duan)口。
具體步驟請參見查看實例信息。
步驟 2 登錄(lu)彈性云主機。
本章節以彈性云(yun)主機操作系統為(wei)centos為(wei)例介紹(shao)通過phpredis redis客戶(hu)端連接實例。
步(bu)驟 3 安裝gcc-c++及(ji)make等(deng)編譯(yi)組(zu)件。
yum install gcc-c++ make
步驟 4 安裝php開(kai)發包與命令行工具。
執行如(ru)下(xia)命(ming)令,使(shi)用yum方式直接安裝。
yum install php-devel php-common php-cli
安裝(zhuang)完后可查(cha)看版本(ben)號,確認(ren)成功安裝(zhuang):
php --version
步驟(zou) 5 安(an)裝(zhuang)php redis客戶端。
- 下載php redis源文件。
wget //pecl.php.net/get/redis-5.3.7.tgz
僅以(yi)(yi)該(gai)版本作為示例,您還(huan)可以(yi)(yi)去redis官(guan)網或者php官(guan)網下載其(qi)他版本的phpredis客(ke)戶端。
2.解壓(ya)php redis源文件包。
tar -zxvf redis-5.3.7.tgz
cd redis-5.3.7
3.編(bian)譯前先執(zhi)行(xing)擴展命令。
phpize
4.配(pei)置php-config文(wen)件(jian)。
./configure --with-php-config=/usr/bin/php-config
不同(tong)操(cao)作系統,不同(tong)的(de)php安裝(zhuang)方(fang)式,該(gai)文(wen)件位置不一樣(yang)。建議(yi)在配(pei)置前,先查找和確認該(gai)文(wen)件的(de)目錄:
find / -name php-config
5.編譯和安裝php redis客戶端。
make && make install
6。安裝(zhuang)完后在(zai)php.ini文件中增(zeng)加(jia)extension配置項,用于增(zeng)加(jia)redis模塊的引用配置。
vim /etc/php.ini
增加如下配置項:
extension = "/usr/lib64/php/modules/redis.so"
說明
php.ini和(he)redis.so兩個文件的(de)目錄可能不同(tong),需要先(xian)查找確認。
例(li)如:find / -name php.ini
7.保存退出后(hou)確認(ren)擴展生效。
php -m |grep redis
如果以上命令返回了(le)redis,表示php redis客戶端(duan)環境搭建好了(le)。
步驟 6 使用(yong)php redis客戶端連接Redis實例。
- 編輯一個redis.php文件:
<?php $redis_host = "{redis_instance_address}"; $redis_port = 6379; $user_pwd = "{password}"; $redis = new Redis(); if ($redis->connect($redis_host, $redis_port) == false) { die($redis->getLastError()); } if ($redis->auth($user_pwd) == false) { die($redis->getLastError()); } if ($redis->set("welcome", "Hello, DCS for Redis!") == false) { die($redis->getLastError()); } $value = $redis->get("welcome"); echo $value; $redis->close(); ?>
其中, {redis_instance_address} 為Redis實例的IP地址,6379為Redis實例的端口。IP地址和端口獲取見步驟1,請按實際情況修改后執行。 {password} 為創建Redis實例時自定義(yi)的密(mi)碼,請(qing)按實際情況修改后執(zhi)行(xing)。如果免密(mi)訪問,請(qing)將密(mi)碼認證的if語(yu)句屏蔽(bi)。
2.執行 php redis.php ,連接Redis實例。
Predis
介紹使用同一(yi)VPC內彈性云主機ECS上的Predis連接Redis的方(fang)(fang)法。更多的客戶端的使用方(fang)(fang)法請(qing)參考(kao)。
前提條件
- 已成功申請Redis實例,且狀態為“運行中”。
- 已創建彈性云主機,創建彈性云主機的方法,請參見《彈性云主機用戶指南》。
- 如果彈性云主機為Linux系統,該彈性云主機必須已經安裝php編譯環境。
操作步驟
步驟(zou) 1 查看(kan)并獲取待連接(jie)Redis實例的(de)IP地(di)址和(he)端(duan)口。
具體步驟請參見查看實例信息。
步驟 2 登錄彈性(xing)云主(zhu)機。
步驟 3 安裝(zhuang)php開發(fa)包(bao)與命(ming)(ming)令行(xing)(xing)工具(ju)。執行(xing)(xing)如下命(ming)(ming)令,使用yum方式直(zhi)接安裝(zhuang)。
yum install php-devel php-common php-cli
步(bu)驟(zou) 4 安(an)裝完后可查看版本號(hao),確認(ren)成功安(an)裝。
php --version
步驟 5 將Predis包下(xia)(xia)載到(dao)/usr/share/php目錄下(xia)(xia)。
- 通過以下命令下載Predis源文件。
wget //github.com/predis/predis/archive/refs/tags/v1.1.10.tar.gz
說明
僅以該版(ban)(ban)本(ben)作(zuo)為示例,您還(huan)可以去redis官(guan)網或者php官(guan)網下載其他版(ban)(ban)本(ben)的predis客戶(hu)端。
- 解壓Predis源文件包。
tar -zxvf predis-1.1.10.tar.gz
- 將解壓好的predis目錄重命名為“predis”,并移動到/usr/share/php/下。
mv predis-1.1.10 predis
步驟 6 編(bian)輯一個文件連接redis。
- 使用redis.php文件連接Redis單機/主備/Proxy集群示例:
<?php require 'predis/autoload.php'; Predis\Autoloader::register(); $client = new Predis\Client([ 'scheme' => 'tcp' , 'host' => '{redis_instance_address}' , 'port' => {port} , 'password' => '{password}' ]); $client->set('foo', 'bar'); $value = $client->get('foo'); echo $value; ?> - 使用redis-cluster.php連接Redis Cluster集群代碼示例:
<?php
require 'predis/autoload.php';
$servers = array(
'tcp://{redis_instance_address}:{port}'
);
$options = array('cluster' => 'redis');
$client = new Predis\Client($servers, $options);
$client->set('foo', 'bar');
$value = $client->get('foo');
echo $value;
?>
其中, {redis_instance_address} 為Redis實例真實的IP地址, {port} 為Redis實例真實的端口。IP地址和端口獲取見步驟1,請按實際情況修改后執行。 {password} 為創建Redis實例時自定義(yi)的密(mi)碼,請按實際情(qing)況修改后執(zhi)行。如(ru)果免密(mi)訪問,請將(jiang)password行去掉。
步驟 7 執行php redis.php連接Redis實例。