phpRedis手册文档格式.docx
《phpRedis手册文档格式.docx》由会员分享,可在线阅读,更多相关《phpRedis手册文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
key3'
key4'
key5'
));
ttl
得到一个key的生存时间
persist
移除生存时间到期的key
如果key到期true如果不到期false
mset(redis版本1.1以上才可以用)
同时给多个key赋值
mset(array('
key0'
=>
'
value0'
value1'
multi,exec,discard
进入或者退出事务模式
multi();
参数可选Redis:
MULTI或Redis:
PIPELINE.默认是Redis:
MULTI
MULTI:
将多个操作当成一个事务执行
PIPELINE:
让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证
discard:
删除一个事务
返回值
multi(),返回一个redis对象,并进入multi-mode模式,一旦进入multi-mode模式,以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。
watch,unwatch(代码测试后,不能达到所说的效果)
监测一个key的值是否被其它的程序更改。
如果这个key在watch和exec(方法)间被修改,这个MULTI/EXEC事务的执行将失败(returnfalse)
unwatch取消被这个程序监测的所有key
参数,一对key的列表
watch('
x'
$ret=$redis->
multi()->
incr('
)->
exec();
subscribe*
方法回调。
注意,该方法可能在未来里发生改变
publish*
发表内容到某一个通道。
exists
判断key是否存在。
存在true不在false
incr,incrBy
key中的值进行自增1,如果填写了第二个参数,者自增第二个参数所填的值
incrBy('
10);
decr,decrBy
做减法,使用方法同incr
1、
getMultiple
传参
由key组成的数组
返回参数
如果key存在返回value,不存在返回false
set('
$redis->
value2'
value3'
getMultiple(array('
lRem('
A'
2);
lRange('
0,-1);
2、list相关操作
lPush
lPush(key,value);
在名称为key的list左边(头)添加一个值为value的元素
rPush
rPush(key,value);
在名称为key的list右边(尾)添加一个值为value的元素
lPushx/rPushx
lPushx(key,value);
在名称为key的list左边(头)/右边(尾)添加一个值为value的元素,如果value已经存在,则不添加
lPop/rPop
lPop('
输出名称为key的list左(头)起/右(尾)起的第一个元素,删除该元素
blPop/brPop
blPop('
lpop命令的block版本。
即当timeout为0时,若遇到名称为keyi的list不存在或该list为空,则命令结束。
如果timeout>
0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作
lSize
lSize('
返回名称为key的list有多少个元素
lIndex,lGet
lGet('
0);
返回名称为key的list中index位置的元素
lSet
lSet('
0,'
X'
给名称为key的list中index位置的元素赋值为value
lRange,lGetRange
返回名称为key的list中start至end之间的元素(end为-1,返回所有)
lTrim,listTrim
lTrim('
start,end);
截取名称为key的list,保留start至end之间的元素
lRem,lRemove
删除count个名称为key的list中值为value的元素。
count为0,删除所有值为value的元素,count>
0从头至尾删除count个值为value的元素,count<
0从尾到头删除|count|个值为value的元素
lInsert
在名称为为key的list中,找到值为pivot的value,并根据参数Redis:
BEFORE|Redis:
AFTER,来确定,newvalue是放在pivot的前面,或者后面。
如果key不存在,不会插入,如果pivot不存在,return-1
lInsert('
Redis:
AFTER,'
lPush('
B'
C'
BEFORE,'
Y'
W'
rpoplpush
返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
y'
abc'
def'
123'
456'
//movethelastofxtothefrontofy.var_dump($redis->
rpoplpush('
var_dump($redis->
0,-1));
string(3)"
abc"
array
(1){[0]=>
string(3)"
def"
}
array(3){[0]=>
[1]=>
456"
[2]=>
123"
}
3、SET操作相关
sAdd
向名称为key的set中添加元素value,如果value存在,不写入,returnfalse
sAdd(key,value);
sRem,sRemove
删除名称为key的set中的元素value
sAdd('
'
set1'
set2'
set3'
sRem('
sMove
将value元素从名称为srckey的集合移到名称为dstkey的集合
sMove(seckey,dstkey,value);
sIsMember,sContains
名称为key的集合中查找是否有value元素,有ture没有false
sIsMember(key,value);
sCard,sSize
返回名称为key的set的元素个数
sCard('
)
sPop
随机返回并删除名称为key的set中一个元素
sPop('
sRandMember
随机返回名称为key的set中一个元素,不删除
sInter
求交集
1、$redis->
sInter(array('
))or$redis->
sInter('
sInterStore
求交集并将交集保存到output的集合
sInterStore('
output'
sUnion
求并集
sUnion('
s0'
s1'
s2'
s0,s1,s2同时求并集
sUnionStore
求并集并将并集保存到output的集合
sUnionStore('
);
sDiff
求差集
sDiffStore
求差集并将差集保存到output的集合
sMembers,sGetMembers
返回名称为key的set的所有元素
sort
排序,分页等
'
by'
some_pattern_*'
limit'
array(0,1),
get'
some_other_pattern_*'
oranarrayofpatterns,
sort'
asc'
or'
desc'
alpha'
TRUE,
store'
external-key'
例子
s'
sadd('
5);
4);
1);
3);
sort('
//1,2,3,4,5
array('
)));
//5,4,3,2,1
out'
//(int)5
string命令
getSet
返回原来key中的值,并将value写入key
42'
$exValue=$redis->
getSet('
lol'
//return'
replacesxby'
$newValue=$redis->
get('
)'
append
string,名称为key的string的值在后面加上value
append('
getRange(方法不存在)
返回名称为key的string中start至end之间的字符
stringvalue'
getRange('
0,5);
-5,-1);
setRange(方法不存在)
改变key的string中start至end之间的字符为value
Helloworld'
setRange('
6,"
redis"
strlen
得到key的string的长度
strlen('
getBit/setBit
返回2进制信息
zset(sortedset)操作相关
zAdd(key,score,member):
向名称为key的zset中添加元素member,score用于排序。
如果该元素已经存在,则根据score更新该元素的顺序。
zAdd('
1,'
val1'
val0'
5,'
val5'
zRange('
//array(val0,val1,val5)
zRange(key,start,end,withscores):
返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素
2,'
val2'
10,'
val10'
//withscores$redis->
0,-1,true);
zDelete,zRem
zRem(key,member):
删除名称为key的zset中的元素member
zDelete('
zRevRange(key,start,end,withscores):
返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素.withscores:
是否输出socre的值,默认false,不输出
zRevRange('
zRangeByScore,zRevRangeByScore
zRangeByScore(key,star,end,array(withscores,limit));
返回名称为key的zset中score>
=star且score<
=end的所有元素
zCount
zCount(key,star,end);
=end的所有元素的个数
zRemRangeByScore,zDeleteRangeByScore
zRemRangeByScore('
star,end);
删除名称为key的zset中score>
=end的所有元素,返回删除个数
zSize,zCard
返回名称为key的zset的所有元素的个数
zScore
zScore(key,val2);
返回名称为key的zset中元素val2的score
zRank,zRevRank
zRevRank(key,val);
返回名称为key的zset(元素已按score从小到大排序)中val元素的rank(即index,从0开始),若没有val元素,返回“null”。
zRevRank是从大到小排序
zIncrBy
zIncrBy('
increment,'
member'
如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;
否则向集合中添加该元素,其score的值为increment
zUnion/zInter
keyOutput
arrayZSetKeys
arrayWeights
aggregateFunctionEither"
SUM"
"
MIN"
or"
MAX"
definesthebehaviourtouseonduplicateentriesduringthezUnion.
对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。
对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。
如果没有提供WEIGHT,默认为1。
默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。
Hash操作
hSet
hSet('
h'
hello'
向名称为h的hash中添加元素key1—>
hello
hGet
hGet('
返回名称为h的hash中key1对应的value(hello)
hLen
hLen('
返回名称为h的hash中元素个数
hDel
hDel('
删除名称为h的hash中键为key1的域
hKeys
hKeys('
返回名称为key的hash中所有键
hVals
hVals('
返回名称为h的hash中所有键对应的value
hGetAll
hGetAll('
返回名称为h的hash中所有的键(field)及其对应的value
hExists
hExists('
a'
名称为h的hash中是否存在键名字为a的域
hIncrBy
hIncrBy('
将名称为h的hash中x的value增加2
hMset
hMset('
user:
1'
name'
Joe'
salary'
2000));
向名称为key的hash中批量添加元素
hMGet
hmGet('
field1'
field2'
返回名称为h的hash中field1,field2对应的value
redis操作相关
flushDB
清空当前数据库
flushAll
清空所有数据库
randomKey
随机返回key空间的一个key
$key=$redis->
randomKey();
select
选择一个数据库
move
转移一个key到另外一个数据库
select(0);
//switchtoDB0
//write42tox
move('
//movetoDB1
select
(1);
//switchtoDB1
//willreturn42
rename,renameKey
给key重命名
rename('
//→42
//→`FALSE`
renameNx
与remane类似,但是,如果重新命名的名字已经存在,不会替换成功
setTimeout,expire
设定一个key的活动时间(s)
setTimeout('
expireAt
key存活到一个unix时间戳时间
expireAt('
time()+3);
keys,getKeys
返回满足给定pattern的所有ke