美文网首页
Redis系列第三篇:PHP操作Redis

Redis系列第三篇:PHP操作Redis

作者: ningsiy | 来源:发表于2018-11-25 21:30 被阅读0次

    一、PHP安装Redis扩展

    安装环境
    • 服务器环境:Linux / CentOS 7
    • PHP版本:PHP 7.0.30 (可使用 php -m 命令查看已经安装的php扩展),还需确认是否安装了 phpize 和 php-config 两个工具,如果没有可以用 yum install php-devel 命令安装
    • PHP Redis扩展:wget https://github.com/phpredis/phpredis/archive/develop.zip
    安装步骤

    1. 解压Redis扩展包

    unzip develop.zip 解压,完成之后会有 phpredis-develop 目录。


    2.进入到 phpredis-develop 目录,使用 phpize 生成 configure 工具



    3. 使用 configure 工具

    ./configure --with-php-config=/usr/bin/php-config (with-php-config 参数的值为 php-config 目录)

    4. make、make install 操作

    出现 Installing shared extensions: /usr/lib64/php/modules/ 表示PHP 的Redis扩展包已经放到指定的目录


    5. 修改 php.ini 文件启用 Redis 扩展

    php --ini 命令可以查看 php.ini 文件的所在路径。在php.ini 文件最后添加一行extension=redis.so

    6. 查看是否安装成功 (依旧使用 php -m 命令)


    二、PHP 操作 Redis

    • php 操作 redis 说明文档:https://github.com/phpredis/phpredis
    • Redis类命名空间是根,在其他命名空间下使用 Redis 类,需要加上根目录符号
    • phpredis的命令和参数基本和 redis 命令一致
    连接
    <?php
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 7200);
    
    string 类型
    //连接redis
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 7200);
    
    //string 操作
    $redis->delete('string1');
    $redis->set('string1', 'value1');
    $val = $redis->get('string1');
    var_dump($val);
    
    //自增操作
    $redis->set('string1', 5);
    $redis->incr('string1');
    $val = $redis->get('string1');
    var_dump($val);
    
    list 类型
    <?php
    /**
     * Created by PhpStorm.
     * User: nignsiy
     * Date: 2018/11/25
     * Time: 20:28
     */
    
    //连接redis
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 7200);
    
    //list 操作
    $redis->delete('list1');  //先删除要操作的key
    
    $redis->lPush('list1', 'A');  //从队列的左边压入元素
    $redis->lPush('list1', 'B');
    $redis->lPush('list1', 'C');
    
    $pop_value = $redis->rPop('list1');  //在队列的右边弹出元素
    var_dump($pop_value);  //由于是“先进先出”,所以打印的值应该为 A
    
    
    set 类型
    <?php
    /**
     * Created by PhpStorm.
     * User: nignsiy
     * Date: 2018/11/25
     * Time: 20:39
     */
    
    //实例化Redis类并连接
    $redis = new \Redis();
    $redis->connect('127.0.0.1', '7200');
    
    //set类型操作
    $key = 'set1';
    $redis->delete($key); //先删除要操作的key
    
    $redis->sAdd($key, 'A');  //往集合set1插入元素
    $redis->sAdd($key, 'B');
    $redis->sAdd($key, 'C');
    $redis->sAdd($key, 'D');
    $redis->sAdd($key, 'D');
    $redis->sAdd($key, 'C');
    
    $count_value = $redis->sCard($key);   //获取集合 set1 中元素个数
    var_dump($count_value);               //set类型中不能有重复的元素,所以打印结果应该为4
    
    $values = $redis->sMembers($key);     //以数组的形式返回集合 set1 中所有的元素
    var_dump($values);
    
    hash 类型
    <?php
    /**
     * Created by PhpStorm.
     * User: nignsiy
     * Date: 2018/11/25
     * Time: 20:56
     */
    
    //实例化Redis类并连接
    $redis = new \Redis();
    $redis->connect('127.0.0.1', '7200');
    
    $key = 'student1';
    $redis->delete($key);
    
    //往key中 添加键值对
    $redis->hSet($key, 'name', 'xiaoming');
    $redis->hSet($key, 'age', 12);
    $redis->hSet($key, 'sex', 1);
    
    //获取key中 name 的值
    $name = $redis->hGet($key, 'name');
    var_dump($name);
    
    //获取 $key(student1)中所有信息
    $student_info = $redis->hMGet($key, array('name', 'age', 'sex'));
    var_dump($student_info);
    
    zset 类型
    <?php
    /**
     * Created by PhpStorm.
     * User: nignsiy
     * Date: 2018/11/25
     * Time: 21:11
     */
    
    //实例化Redis类并连接
    $redis = new \Redis();
    $redis->connect('127.0.0.1', '7200');
    
    $key = 'zset1';
    $redis->delete($key);
    
    //向zset1 中添加元素
    $redis->zAdd($key, 85, 'xiaoming');
    $redis->zAdd($key, 90, 'zhang');
    $redis->zAdd($key, 72, 'lee');
    $redis->zAdd($key, 99, 'wu');
    
    //按照分数(score)从低到高显示,参数end为-1 表示展示所有
    $val = $redis->zRange($key, 0, -1);
    var_dump($val);
    
    //从高到低显示
    $re = $redis->zRevRange($key, 0, -1);
    var_dump($re);
    

    本文主要讲了PHP安装Redis扩展,PHP操作Redis的五种数据类型。

    相关文章

      网友评论

          本文标题:Redis系列第三篇:PHP操作Redis

          本文链接:https://www.haomeiwen.com/subject/hyuyqqtx.html