常常用到redis,但基本上都是基于集成开发环境,redis的链接也是基于框架自身,总感受缺点什么,刚好在ubuntu系统中apt-get并不直接提供php的redis扩展,借此机会总结了下redis对php的支持
若是想一想要在程序中使用redis,那么要有两个先决条件,第一要安装redis程序,第二要使redis支持php
这里主要谈一下redis对php的支持,咱们常见的有两种
1.phpredis(实现方式:php扩展,c语言)
特色:须要咱们在开发环境中安装php扩展,使用比较方便,缺点是扩展的门槛比较高,可是运行速度快,ci框架官方文档中采此方式
2.Predis(实现方式:纯php语言)
特色:比较方便,易于扩展,laraval框架官方文档中采用此方式
一.ubuntu安装phpredis扩展,php版本是7.0
1.准备工做:安装扩展须要phpize
查看可供安装的扩展 apt search php7
发现 php7.0-dev扩展是支持的,开始安装 apt-get install php7.0-dev
2.开始安装php的redis扩展
1.root@ubuntu:/tmp# git clone -b php7 https://github.com/phpredis/phpredis.git
2.root@ubuntu:/tmp# mv phpredis/ /etc/
3.root@ubuntu:/tmp# cd /etc/phpredis
4.root@ubuntu://etc/phpredis# phpize
5.root@ubuntu://etc/phpredis# ./configure
6.root@ubuntu://etc/phpredis#make && make install
3.启动扩展
vim / etc / php / 7.0 / fpm / php .ini ,在配置文件中添加以下语句:extension=redis.so
最后使用命令来重启 PHP 服务: service php7 . 0 - fpm restart
4.测试是否成功,书写test.php文件,加入如下内容
<?php
phpinfo();
成功显示redis项,证实安装成功
5.使用php去访问redis
书写testredis.php文件,内容以下
<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->set('say','hello world');
echo 'archer: '.$redis->get('say');
输出如下内容,证实访问成功
archer: hello world
二.predis的使用
1.首先考虑,若是你已经安装了phpredis扩展,那么可能要考虑冲突问题,具体没有验证,网上有此说法
,因此个人作法是将redisphp启动扩展操做中extension=redis.so这句注释掉
目录结构以下
3.引入predis进行测试,建立testpredis.php文件,内容以下
<?php
require './predis-1.1/autoload.php';
$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');
var_dump($value);exit;
输出结果:string(3) "bar"
证实引入成功
4.关于链接,默认是127.0.0.1 端口6379,咱们也能够本身传入参数
$client = new Predis\Client([ 'scheme' => 'tcp', 'host' => '10.0.0.1', 'port' => 6379, ]); // Same set of parameters, passed using an URI string: $client = new Predis\Client('tcp://10.0.0.1:6379');
参考资料