[root@web33 ~]# cd /opt [root@web33 opt]# wget -c -t 0 https://github.com/owlient/phpredis/archive/master.zip [root@web33 opt]# unzip master.zip [root@web33 opt]# cd phpredis-master/ [root@web33 phpredis-master]# /usr/local/php/bin/phpize [root@web33 phpredis-master]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@web33 phpredis-master]# make && make install
#这里进行make的时候报错
2、那是因为最新的 phpredis 分了几大分支,针对最新的PHP稳定发行版 php7 有专门为php7的分支,所以我们从github拉下phpredis 源码 需要切换到PHP7的分支 首先git clone phpredis下来
[root@web33 ~]# cd /opt [root@web33 ~]# git clone https://github.com/nicolasff/phpredis [root@web33 ~]# git checkout php7 [root@web33 opt]# cd phpredis [root@web33 phpredis]# /usr/local/php/bin/phpize [root@web33 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@web33 phpredis]# make && make install
3、修改php.ini加上“extension=redis.so”
vi /usr/local/php/etc/php.ini extension = "redis.so"
4、重启php-fpm
/etc/init.d/php-fpm restart
#用phpinfo验证下redis扩展是否安装成功
5、单实例redis通过php连接测试
<?php //连接192.168.5.65的Redis服务 $redis = new Redis(); $redis->connect('192.168.5.65', 6001); $redis->auth('zxc789'); //redis认证 echo "Connection to server sucessfully"; //查看服务是否运行 echo "Server is running: " . $redis->ping(); ?>
#执行脚本,输出结果为:
Connection to server sucessfully
Server is running: PONG
6、Java操作Redis cluster集群可使用jredis,PHP要操作redis cluster集群有两种方式:
1)使用phpredis扩展,这是个c扩展,性能更高,但是这个方案参考资料很少
2)使用predis,纯php开发,使用了命名空间,需要php5.3+,灵活性高,我这里用的是predis,下载地址https://github.com/nrk/predis
[root@web33 tmp]# git clone https://github.com/nrk/predis.git #将predis放到网站根目录下 [root@web33 tmp]# mv predis /data/www/predis [root@web33 tmp]# cd /data/www/
[root@web33 www]# cat predis.php
<?php require 'predis/autoload.php';//引入predis相关包 //redis实例 $servers = array( 'tcp://192.168.5.65:6001', 'tcp://192.168.5.65:6002', 'tcp://192.168.5.65:6003', 'tcp://192.168.5.66:6001', 'tcp://192.168.5.66:6002', 'tcp://192.168.5.66:6003', ); $options = ['cluster' =>'redis','parameters' => [ 'password' => 'zxc789' ]]; $client = new Predis\Client($servers,$options); $client->set('name1', '1111111'); $client->set('name2', '2222222'); $client->set('name3', '3333333'); $name1 = $client->get('name1'); $name2 = $client->get('name2'); $name3 = $client->get('name3'); var_dump($name1, $name2, $name3);die; ?>