最新公告
  • 欢迎访问代码工坊,购买产品可享受在线工单服务!
  • php连接redis(带密码)常用的php-redis数据库使用方法

    连接redis

    $redis = new Redis();
    $redis->connect($host, $port);
    $redis->auth('my pass'); //密码验证

    常用方法

    $redis->set('1','1',3600);
    // 批量操作
    $redis->multi(Redis::PIPELINE); // 开始批量操作
    // $redis->pipeline(); // 或者 开始批量操作
    $redis->get("1");
    $redis->incr("incr",2); // 自增2
    $redis->expire('incr', 86400*20); // 设置key的过期时间
    // $redis->expireAt('incr', strtotime('+1 days')); // 设置key的过期时间
    $data = $redis->redis->exec();  // 结束批量操作
    var_dump($data[0]); // 获取批量操作第一个 get
    var_dump($data[1]); // 获取批量操作第一个 incr
    $redis->close();  // 关闭redis连接

    集合相关方法

    // 添加元素进入集合
    $redis->sAdd('lm_template_set_num',1);
    $redis->sAdd('lm_template_set_num',2);
    $redis->sAdd('lm_template_set_num',3);
    $redis->sAdd('lm_template_set_num',4);
    $redis->sAdd('lm_template_set_num',5);
     
    // 删除集合中指定的元素值,1 成功,0删除失败
    $r = $redis->sRem('lm_template_set_num',4); 
    var_dump($r); 
     
    // 返回集合中元素的数量
    $r = $redis->sCard('lm_template_set_num');
    var_dump($r); 
     
    // 移除并返回集合中的一个随机元素
    $r = $redis->sPop('lm_template_set_num');
    var_dump($r); 
     
    // 返回集合中的一个随机元素。$num 随机取的个数
    $r = $redis->sRandMember('lm_template_set_num',$num);
    var_dump($r); 
     
    // 判断成员元素是否是集合的成员。1 存在 0 不存在
    $r = $redis->sIsMember('lm_template_set_num',1);
    var_dump($r); 
     
    // 获取集合中所有的元素
    $r = $redis->sMembers('lm_template_set_num');
    var_dump($r);

    有序集合相关方法

    // 向有序集合添加一个或多个成员,或者更新已存在成员的分数
    $redis->zAdd('lm_template_set_num',1,"one");
    $redis->zAdd('lm_template_set_num',2,"two");
    $redis->zAdd('lm_template_set_num',1,"three"); 
     
    // 计算集合中元素的数量
    $r = $redis->zCard('lm_template_set_num');
    var_dump($r);
     
    // 计算在有序集合中指定区间分数的成员数
    // 返回名称为key的zset中score >= star且score <= end的所有元素的个数
    $r = $redis->zCount('lm_template_set_num',1,3); 
    var_dump($r); 
     
    // 有序集合中对指定成员的分数加上增量 increment
    $r = $redis->zIncrBy('lm_template_set_num',1,"three"); 
    var_dump($r);
     
    // 通过索引区间返回有序集合成指定区间内的成员
    $r = $redis->zRange('lm_template_set_num',0,-1); // 递增排列
    $r = $redis->zRevRange('lm_template_set_num',0,-1); // 递减排列
    var_dump($r); 
     
    // 返回有序集合中指定成员的索引
    $r = $redis->zRank('lm_template_set_num', "three"); // 从低到高 显示three 的排名
    var_dump($r); 
    $r = $redis->zRevRank('lm_template_set_num', "three"); // 从高到低 显示three 的排名 
    var_dump($r); 
     
    // 移除有序集合中的一个或多个成员
    $r = $redis->zRem('lm_template_set_num', "three"); // 显示移除three
    var_dump($r); 
     
    // 返回有序集中,成员的分数值
    $r = $redis->zScore('lm_template_set_num', "three");  
    var_dump($r); 

    列表

    $key = 'lm_list';
     
    // 将一个或多个值插入到列表头部
    $redis->lPush($key,1);
     
    //将一个或多个值插入到已存在的列表头部  列表不存在时操作无效。
    $redis->lPushx($key,1);
     
    // 在列表中添加一个或多个值
    $redis->rPush($key,1);
     
    //为已存在的列表添加值 列表不存在时操作无效。
    $redis->rPushx($key,1);
     
    //用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
    $redis->lIndex($key,1);
     
    // 获取列表长度
    $redis->lLen($key);
     
    // 移出并获取列表的第一个元素
    $redis->lPop($key);
     
    //移除并获取列表最后一个元素
    $redis->rPop($key);
     
    // 获取列表指定范围内的元素
    $redis->lRange($key,0,-1);
     
    // 移除列表元素
    $redis->lRem($key,1,0);
     
    // 通过索引设置列表元素的值
    $redis->lSet($key,0,'bar');

    哈希

    $key = 'lm_hash';
     
    // 添加元素进入哈希表中。
    $redis->hSet($key,1,2);
     
    // 用于同时将多个 field-value (字段-值)对设置到哈希表中。
    $redis->hMset($key,array(1=>1,2=>2,3=>3));
     
    // 只有在字段 field 不存在时,设置哈希表字段的值。
    $redis->hSetNx($key,1,2);
     
    // 返回哈希表中指定字段的值
    $res = $redis->hGet($key,1);
    print_r($res);
     
    // 返回哈希表中一个或多个给定字段的值
    $res = $redis->hMGet($key,array(1,2));
    print_r($res);
     
    // 返回哈希表中所有的字段和值
    $res = $redis->hGetAll($key);
    print_r($res);
     
    // 查看哈希表 key 中,指定的字段是否存在。
    $redis->hExists($key,1);
     
    // 删除一个或多个哈希表字段
    $redis->hDel($key,1);
     
    // 用于为哈希表中的字段值加上指定增量值。 增量也可以为负数,相当于对指定字段进行减法操作。
    $res = $redis->hIncrBy($key,3,1);
    print_r($res);
     
    // 用于为哈希表中的字段值加上指定浮点数增量值
    $redis->hIncrByFloat($key,3,0.1);
     
    //用于获取哈希表中的所有字段名。
    $res = $redis->hKeys($key);
    print_r($res);
     
    // 获取哈希表中所有值
    $res = $redis->hVals($key);
    print_r($res);
     
    //用于获取哈希表中字段的数量。
    $redis->hLen($key);

    发表评论