Maison >développement back-end >tutoriel php >php-redis中文文档之二
本文是php-redis中文文档的第二部分,接上篇,继续介绍redis官方提供的一些命令的使用技巧,有需要的朋友可以参考下。
本文是php-redis中文文档的第二部分,接上篇,继续介绍redis官方提供的一些命令的使用技巧,有需要的朋友可以参考下。 mset (redis版本1.1以上才可以用) 同时给多个key赋值 $redis->mset(array('key0' => 'value0', 'key1' => 'value1')); multi, exec, discard 进入或者退出事务模式 参数可选Redis::MULTI或Redis::PIPELINE. 默认是 Redis::MULTI Redis::MULTI:将多个操作当成一个事务执行 Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证 discard:删除一个事务 返回值 multi(),返回一个redis对象,并进入multi-mode模式,一旦进入multi-mode模式,以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。 watch, unwatch (代码测试后,不能达到所说的效果) 监测一个key的值是否被其它的程序更改。如果这个key在watch 和 exec (方法)间被修改,这个 MULTI/EXEC 事务的执行将失败(return false) unwatch 取消被这个程序监测的所有key 参数,一对key的列表 $redis->watch('x'); $ret = $redis->multi() ->incr('x') ->exec(); subscribe * 方法回调。注意,该方法可能在未来里发生改变 publish * 发表内容到某一个通道。注意,该方法可能在未来里发生改变 exists 判断key是否存在。存在 true 不在 false incr, incrBy key中的值进行自增1,如果填写了第二个参数,者自增第二个参数所填的值 $redis->incr('key1'); $redis->incrBy('key1', 10); decr, decrBy 做减法,使用方法同incr getMultiple 传参 由key组成的数组 返回参数 如果key存在返回value,不存在返回false $redis->set('key1', 'value1'); $redis->set('key2', 'value2'); $redis->set('key3', 'value3'); $redis->getMultiple(array('key1', 'key2', 'key3')); $redis->lRem('key1', 'A', 2); $redis->lRange('key1', 0, -1); list相关操作 lPush $redis->lPush(key, value); 在名称为key的list左边(头)添加一个值为value的 元素 rPush $redis->rPush(key, value); 在名称为key的list右边(尾)添加一个值为value的 元素 lPushx/rPushx $redis->lPushx(key, value); 在名称为key的list左边(头)/右边(尾)添加一个值为value的元素,如果value已经存在,则不添加 lPop/rPop $redis->lPop('key'); 输出名称为key的list左(头)起/右(尾)起的第一个元素,删除该元素 blPop/brPop $redis->blPop('key1', 'key2', 10); lpop命令的block版本。即当timeout为0时,若遇到名称为key i的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作 lSize $redis->lSize('key'); 返回名称为key的list有多少个元素 lIndex, lGet $redis->lGet('key', 0); 返回名称为key的list中index位置的元素 lSet $redis->lSet('key', 0, 'X'); 给名称为key的list中index位置的元素赋值为value lRange, lGetRange $redis->lRange('key1', 0, -1); 返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有) lTrim, listTrim $redis->lTrim('key', start, end); 截取名称为key的list,保留start至end之间的元素 lRem, lRemove $redis->lRem('key', 'A', 2); 删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count |