首页 > 代码库 > redis总结(一) -- php中redis的使用

redis总结(一) -- php中redis的使用

经常用到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这句注释掉
2.下载predis:https://codeload.github.com/nrk/predis/zip/v1.1, 然后解压到你相应的站点下
目录结构如下
技术分享
3.引入predis进行测试,创建testpredis.php文件,内容如下
<?php
 
require ‘./predis-1.1/autoload.php‘;
$client = new Predis\Client();
$client->set(‘foo‘, ‘bar‘);
$value = http://www.mamicode.com/$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‘);
 
 
参考资料
http://blog.csdn.net/u013474436/article/details/53131259
http://www.tuicool.com/articles/JVnqUnE
http://blog.csdn.net/zls986992484/article/details/52730725
https://github.com/nrk/predis
https://github.com/phpredis/phpredis

redis总结(一) -- php中redis的使用