php-redis中文文档之二

发布时间:2019-10-07编辑:脚本学堂
本文是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<0从尾到头删除|count|个值为value的元素