ArcherWong博客
首页
博客
php中redis的使用
作者:ArcherWong
分类:php
时间:2019-01-04 10:37:36
阅读:12
经常用到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 = $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
标签:
上一篇:
php和js中数组的总结
下一篇:
php中关于时间的总结
文章分类
css
elasticsearch
git
golang
guacamole
javascript
letsencrypt
linux
nginx
other
php
python
vue
web
阅读排行
编码总结
详解网络连接
tcpdump使用
JWT
websocket协议
友情链接
node文件
laravel-vue
ArcherWong的博客园