zoukankan      html  css  js  c++  java
  • php-redis 总结

      php-redis代码库和文档地址:https://github.com/phpredis/phpredis/#readme

      string 字符串类型:

    <?php
    $redis = new Redis();
    $redis->connect("127.0.0.1", 6379);
    $redis->auth('');   //登录
    $redis->select(1);
    
    /**
     * string类型 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     * 
     * 增
     * 返回值:Boolean
     */ 
    
    $ret = $redis->set('key', 'value');         //第一个参数为键,第二个参数为值
    $ret = $redis->setex('key', 20, 'value');   //第二个参数为生命周期(单位秒)
    $ret = $redis->mset(array('key-1' => 'value-1', 'key-2' => 'value-2', 'key-3' => 'value-3'));    //批量写入
    $ret = $redis->setnx('key', 'value');      //如果键名“key”存在则不写入,否则写入
    
    /**
     * 删
     * 返回值:integer
     */
    
    $ret = $redis->del('key');                     //删除单个 key-value
    $ret = $redis->del(array('key-2', 'key-3'));    //批量删除 key-value
    
    /**
     * 修
     */
    
    $ret = $redis->set('key', 'value-1');   //修改,返回值:Boolean
    $ret = $redis->incr('total');           //自增,返回值:integer
    $ret = $redis->incrby('total', 10);     //指定步进自增,返回值:integer
    $ret = $redis->decr('total');           //自减,返回值:integer
    $ret = $redis->decrby('total', 12);     //指定步进自减,返回值:integer
    
    /**
     * 查
     * 返回值:string
     */
    
    $ret = $redis->get('key');                   //获取
    $ret = $redis->mget(array('key-1', 'key-2')); //批量获取,没有key时获取的值是false

    var_dump($ret);
     

      list 列表类型(也是链表类型):

    <?php
    $redis = new Redis();
    $redis->connect("127.0.0.1", 6379);
    $redis->auth('');   //登录
    $redis->select(1);
    
    /**
     * List类型(链表) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     * 
     * 增
     * 返回值 integer,key内值的个数
     */
    $ret = $redis->lpush('list','left-list-value');  //左侧插入一个值
    $ret = $redis->lpush('list','left-list-value1', 'left-list-value2');  //左侧批量插入值
    $ret =$redis->rpush('list','right-list-value');  //右侧插入一个值
    $ret =$redis->rpush('list','right-list-value1','right-list-value2');  //右侧批量插入值
    
    // 在“right-list-value1”前面添加“10”,没有“right-list-value1”返回-1
    // $ret = $redis->linsert('list', Redis::BEFORE, 'right-list-value1', 10);
    
    //在“right-list-value1”后面添加“18”,没有“right-list-value1”返回-1
    // $ret = $redis->linsert('list', Redis::AFTER, 'right-list-value1', 18);
    
    /**
     * 删
     */
    $ret = $redis->lpop('list');    //左侧弹出一个值,返回值是弹出的值;返回值 mixed
    $ret = $redis->rpop('list');    //右侧弹出一个值,返回值是弹出的值;返回值 mixed
    
    //删除指定值“ right-list-value ”;
    //第三个参数的数值表示,值“ right-list-value ”如果重复时,删除几个值,这里删除3个,
    //如果重复值小于第三个参数,删除几个就返回几个数值给 $ret。返回值 integer
    $ret = $redis->lrem('list', 'left-list-value', 3);
    
    /**
     * 改
     */
    //修改索引(索引是从0开始的)上的值,返回值 boolean
    $ret = $redis->lset('list', 0, 'list-new-value');
    
    //将值从一个列表的右侧弹出,插入到另一个列表的左侧;返回值:mixed,弹出的值
    $ret = $redis->rpoplpush('list', 'list-1');
    
    /**
     * 查
     */
    $ret = $redis->lindex('list', 0);   //获取第n个元素的值;有值返回 string,无值返回Boolean
    $ret = $redis->lrange('list', 0, -1);   //获取列表中一段的值,0到-1为列表中的全部值;返回值:array
    $ret = $redis->lLen('list');   //获取列表的长度;返回值:integer
    
    var_dump($ret);

      Set 无序集合类型:

    <?php
    $redis = new Redis();
    $redis->connect("127.0.0.1", 6379);
    $redis->auth('');   //登录
    $redis->select(1);
    
    /**
    * set集合类型 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    * 增
    */
    $ret = $redis->sadd('set', 'value');    //添加单个数据,返回值:integer
    $ret = $redis->sadd('set', 'value1', 'value2', 'value3');    //批量添加数据,返回值:integer
    
    /**
    * 删
    */
    $ret = $redis->srem('set', 'value');   //删除一个值,返回值:integer
    
    /**
    * 改,并不是真正的修改数据,是移动数据
    */
    $ret = $redis->smove('set', 'set-1', 'value');  //把元素 value 从 set 集合移动到 set-1 集合,返回值:Boolean
    
    /**
     * 查
     */
    $ret = $redis->smembers('set');   //获取集合中所有的值,返回值:array
    $ret = $redis->sCard('set');    //获取集合中元素的个数,返回值:integer
    $ret = $redis->srandmember('set');  //随机返回集合中的元素,返回值:string
    $ret = $redis->sinter('set-1', 'set-2');    //获取两个集合的交集,返回值:array
    $ret = $redis->sunion('set-1', 'set-2');    //获取两个集合的并集,返回值:array
    $ret = $redis->sdiff('set-1', 'set-2');    //获取两个集合的差集,set-1 集合在 set-2 集合中不存在的元素,返回值:array
    $ret = $redis->sismember('set','value');    //检查集合 set 中是否存在元素 value,返回值:Boolean
    var_dump($ret);
  • 相关阅读:
    队列的顺序存储实现
    栈的顺序存储实现2
    企业版循环单链表
    STL-list
    EXCEL多条件查询之VLOOKUP+IF{1,0} 踩坑
    MybatisPlus Wrapper方法
    sequence:创建、使用
    Java中List集合去除重复数据的方法
    windows下安装nginx和常用命令
    MySQL8.0.20下载并安装
  • 原文地址:https://www.cnblogs.com/qingsong/p/14209503.html
Copyright © 2011-2022 走看看