首先php連接redis集群有兩個擴展:predis 和 phpredis
predis:純php開發(fā)坎拐,使用了命名空間规肴,需要php5.3+秘遏,靈活性高
phpredis:這是個c擴展蚓让,性能更高腻暮,但是phpredis2.x擴展不行,需升級phpredis到3.0才能連接集群
這里使用phpredis
一徙融、安裝phpredis
phpredis下載地址:https://github.com/nicolasff/phpredis
unzip phpredis-develop.zip
cd phpredis-develop
/usr/local/PHP/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
【
中途有可能需要安裝gcc
yum install gcc即可
】
make
make install
vi /usr/local/php/etc/php.ini
加入 extension=redis.so
apache下重啟httpd或apache洒缀,NGINX下重啟php-fpm即可
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... no
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... no
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... no
二、連接使用
try{
? ? ? ?$obj_cluster = new RedisCluster(NULL, ['192.168.5.155:6379', '192.168.5.155:6378','192.168.5.155:6377', '192.168.5.155:6376', '192.168.5.155:6375'],1.5,1.5);
}catch(Exception $e){
? ? ? ? echo $e->getMessage();
}
$obj_cluster -> set('name', 'yuanbl');
$obj_cluster -> set('team', 'happy');
$obj_cluster -> set('part', 'service');
$name1 = $obj_cluster -> get('name');
$name2 = $obj_cluster -> get('team');
$name3 = $obj_cluster -> get('part');
echo $name1.'--'.$name2.'--'.$name3;
打悠奂健:yuanbl--happy--service
三树绩、連接參數(shù)說明
第一個參數(shù) : NULL ?文檔上沒找到為什么是NULL
第二個參數(shù) : 連接的redis cluster的master服務(wù)器列表。
第三個參數(shù) : timeout表示連接redis的最長時間隐轩,這里設(shè)為1.5秒饺饭,表示超過1.5秒要是還沒連接成功就返回false 。
第四個參數(shù) : read_timeout表示連接redis成功后职车,讀取一個key的超時時間瘫俊,有時候讀取一個key 可能value比較大鹊杖,讀取需要很長時間,這里設(shè)置1.5秒扛芽,表示要是過了1.5秒還沒讀取到數(shù)據(jù)就返回false骂蓖。
四、git地址
https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown