zoukankan      html  css  js  c++  java
  • 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 PredisClient();
    $client->set('foo', 'bar');
    $value = $client->get('foo');
    var_dump($value);exit;
     
    输出结果:string(3) "bar"
    证明引入成功
     
    4.关于连接,默认是127.0.0.1 端口6379,我们也可以自己传入参数
     
    $client = new PredisClient([ 'scheme' => 'tcp', 'host' => '10.0.0.1', 'port' => 6379, ]); // Same set of parameters, passed using an URI string: $client = new PredisClient('tcp://10.0.0.1:6379');
     
     
    参考资料
  • 相关阅读:
    Sum Root to Leaf Numbers——LeetCode
    Search a 2D Matrix ——LeetCode
    Surrounded Regions——LeetCode
    Palindrome Partitioning——LeetCode
    Reverse Linked List II——LeetCode
    Word Break II——LeetCode
    POJ1163——The Triangle
    3Sum Closest——LeetCode
    House Robber——LeetCode
    amqp 抓包
  • 原文地址:https://www.cnblogs.com/redirect/p/6480946.html
Copyright © 2011-2022 走看看