Key操作命令
Redis::__construct
描述:
创建一个Redis客户端
范例:
$redis=newRedis();
connect,open
描述:
实例连接到一个Redis.
参数:host:
stringport:int
返回值:BOOL
成功返回:TRUE;失败返回:FALSE
范例:
$redis->connect(‘127.0.0.1′,6379);
get
描述:
获取有关指定键的值
参数:key
返回值:string或BOLL
如果键不存在,则返回FALSE。否则,与此相关的关键值返回。
范例:
$redis->get(‘key’);
set
描述:
设置关键值参数
参数:Key
Value
返回值:BOOL
范例:
$redis->set(‘key’,‘value’)
setnx
描述:
如果在数据库中不存在该键,设置关键值参数
参数:key
value
返回值:BOOL
范例:
this−>redis−>setnx(‘key′,‘value′);/∗返回TRUE∗/this->redis->setnx(‘key’,‘value’);/*返回FALSE*/
delete
描述:
删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1
key2key3…keyN
返回值:删除的项数
范例:
redis−>set(‘key1',‘val1');redis->set(‘key2′,‘val2′);
redis−>set(‘key3',‘val3');redis->set(‘key4′,‘val4′);
redis−>delete(‘key1',‘key2');/∗返回2∗/redis->delete(array(‘key3′,‘key4′));/*返回2*/
exists
描述:
验证指定的键是否存在
参数key
返回值:Bool
范例:
this−>set(‘key′,‘value′);this->exists(‘key’);/*返回TRUE
*/
$this->exists(‘NonExistingKey’);/*返回FALSE*/
incr
描述:
数字递增存储键值键.如果第二个参数被填满,它将被用来作为整数值递增
Increment
thenumberstoredatkeybyone.Ifthesecondargumentisfilled,itwillbe
usedastheintegervalueoftheincrement.
参数:keyvalue:将被添加到键的值
返回值:INT
thenewvalue
范例:
$redis->incr(‘key1′);/*key1didn’texists,setto0
beforetheincrement*/
/*andnowhasthevalue1*/
redis−>incr(‘key1');/∗2∗/redis->incr(‘key1′);/*3*/
$redis->incr(‘key1′);/*4*/
decr
描述:
数字递减存储键值。如果第二个参数被填满,它将被用来作为整数值递减
Decrement
thenumberstoredatkeybyone.Ifthesecondargumentisfilled,itwillbe
usedastheintegervalueofthedecrement.
参数:keyvalue:将被添加到键的值
返回值:INT
thenewvalue
范例:
redis−>decr(‘key1');/∗key1didn′texists,setto0beforetheincrement∗//∗andnowhasthevalue−1∗/redis->decr(‘key1′);/*-2*/
$redis->decr(‘key1′);/*-3*/
getMultiple
描述:
取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
范例:
redis−>set(‘key1',‘value1');redis->set(‘key2′,‘value2′);
redis−>set(‘key3',‘value3');redis->getMultiple(array(‘key1′,‘key2′,‘key3′));/*
array(‘value1′,‘value2′,‘value3′);
$redis->getMultiple(array(‘key0′,
‘key1′,‘key5′));/*array(`FALSE`,‘value2′,`FALSE`);
lPush
描述:
由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:LONG
Thenewlengthofthelistincaseofsuccess,FALSEincaseof
Failure.
范例:
redis−>delete(‘key1');redis->lPush(‘key1′,‘C’);
//returns1
redis−>lPush(‘key1',‘B′);//returns2redis->lPush(‘key1′,‘A’);//returns3
/*key1nowpointstothe
followinglist:['A','B','C']*/
rPush
描述:
由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:LONG
Thenewlengthofthelistincaseofsuccess,FALSEincaseof
Failure.
范例:
redis−>delete(‘key1');redis->lPush(‘key1′,‘C’);
//returns1
redis−>lPush(‘key1',‘B′);//returns2redis->lPush(‘key1′,‘A’);//returns3
/*key1nowpointstothe
followinglist:['A','B','C']*/
lPop
描述:
返回和移除列表的最后一个元素
参数:key
返回值:STRING
ifcommandexecutedsuccessfullyBOOLFALSEincaseoffailure(empty
list)
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/redis->lPop(‘key1′);/*key1=>['B','A']*/
rPop
描述:
返回和移除列表的第一个元素
参数:key
返回值:STRING
ifcommandexecutedsuccessfullyBOOLFALSEincaseoffailure(empty
list)
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/redis->rPop(‘key1′);/*key1=>['C','B']*/
lSize
描述:
返回的列表的大小。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。
参数:Key
返回值:
LONG
ThesizeofthelistidentifiedbyKeyexists.
BOOLFALSEifthedatatype
identifiedbyKeyisnotlist
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/redis->lSize(‘key1′);/*3
*/
redis−>rPop(‘key1');redis->lSize(‘key1′);/*2*/
lGet
描述:
返回指定键存储在列表中指定的元素。0第一个元素,1第二个…
-1最后一个元素,-2的倒数第二…错误的索引或键不指向列表则返回FALSE。
参数:keyindex
返回值:
Stringthe
elementatthisindex
BoolFALSEifthekeyidentifiesanon-stringdata
type,ornovaluecorrespondstothisindexinthelist
Key.
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis->lGet(‘key1′,0);/*‘A’*/
redis−>lGet(‘key1',−1);/∗‘C′∗/redis->lGet(‘key1′,10);/*`FALSE`*/
lSet
描述:
为列表指定的索引赋新的值.
参数:keyindex
value
返回值:BOOLTRUEifthenewvalueissetted.FALSEiftheindexisoutof
range,ordatatypeidentifiedbykeyisnota
list.
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis->lGet(‘key1′,0);/*‘A’*/
redis−>lSet(‘key1',0,‘X′);redis->lGet(‘key1′,0);/*‘X’*/
lGetRange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key,
start,end)。0第一个元素,1第二个元素…-1最后一个元素,-2的倒数第二…
参数:keystart
end
返回值:
Arraycontainingthevaluesinspecified
range.
范例:
redis−>rPush(‘key1',‘A′);redis->rPush(‘key1′,
‘B’);
redis−>rPush(‘key1',‘C′);redis->lGetRange(‘key1′,0,-1);
/*array(‘A’,‘B’,‘C’)
*/
lRemove
描述:
从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。
参数:key
countvalue
返回值:
LONGthenumberofelementstoremove
BOOLFALSEif
thevalueidentifiedbykeyisnotalist.
范例:
redis−>lPush(‘key1',‘A′);redis->lPush(‘key1′,‘B’);
redis−>lPush(‘key1',‘C′);redis->lPush(‘key1′,‘A’);
redis−>lPush(‘key1',‘A′);redis->lGetRange(‘key1′,0,-1);/*array(‘A’,‘A’,‘C’,‘B’,‘A’)
*/
redis−>lRemove(‘key1',‘A′,2);/∗2∗/redis->lGetRange(‘key1′,0,-1);/*array(‘C’,‘B’,‘A’)*/
sAdd
描述:
为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key
value
返回值:
BOOLTRUEifvaluedidn’texistandwasaddedsuccessfully,
FALSEifthevalueisalreadypresent.
范例:
redis−>sAdd(‘key1',′set1');/∗TRUE,‘key1'=>′set1'∗/redis->sAdd(‘key1′,’set2′);
/*TRUE,‘key1′=>{’set1′,’set2′}*/
$redis->sAdd(‘key1′,’set2′);/*
FALSE,‘key1′=>{’set1′,’set2′}*/
sRemove
描述:
删除Key中指定的value值
参数:key
member
返回值:BOOLTRUEifthememberwaspresentintheset,FALSEifit
didn’t.
范例:
redis−>sAdd(‘key1',′set1');redis->sAdd(‘key1′,
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/redis->sRemove(‘key1′,’set2′);/*‘key1′=>{’set1′,
’set3′}*/
sMove
描述:
将Key1中的value移动到Key2中
参数:srcKey
dstKeymember
返回值:BOOLIftheoperationissuccessful,returnTRUE.Ifthe
srcKeyand/ordstKeydidn’texist,and/orthememberdidn’texistinsrcKey,
FALSEisreturned.
范例:
redis−>sAdd(‘key1',′set11');redis->sAdd(‘key1′,’set12′);
redis−>sAdd(‘key1',′set13');/∗‘key1'=>′set11',′set12',′set13'∗/redis->sAdd(‘key2′,’set21′);
redis−>sAdd(‘key2',′set22');/∗‘key2'=>′set21',′set22'∗/redis->sMove(‘key1′,
‘key2′,’set13′);/*‘key1′=>{’set11′,’set12′}*/
/*‘key2′=>
{’set21′,’set22′,’set13′}*/
sContains
描述:
检查集合中是否存在指定的值。
参数:key
value
返回值:BOOLTRUEifvalueisamemberofthesetatkeykey,FALSE
otherwise.
范例:
redis−>sAdd(‘key1',′set1');redis->sAdd(‘key1′
,’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/redis->sContains(‘key1′,’set1′);/*TRUE
*/
$redis->sContains(‘key1′,’setX’);/*FALSE*/
sSize
描述:
返回集合中存储值的数量
参数:key
返回值:LONG
thecardinalityofthesetidentifiedbykey,0ifthesetdoesn’t
exist.
范例:
redis−>sAdd(‘key1',′set1');redis->sAdd(‘key1′,
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/redis->sSize(‘key1′);/*3*/
$redis->sSize(‘keyX’);/*0
*/
sPop
描述:
随机移除并返回key中的一个值
参数:key
返回值:String
“popped”valueBoolFALSEifsetidentifiedbykeyisemptyordoesn’t
exist.
范例:
redis−>sAdd(‘key1',′set1');redis->sAdd(‘key1′,
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set3',′set1',′set2'∗/redis->sPop(‘key1′);/*’set1′,‘key1′=>{’set3′,’set2′}
*/
$redis->sPop(‘key1′);/*’set3′,‘key1′=>{’set2′}*/
sInter
描述:
返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1,
key2,keyN:keysidentifyingthedifferentsetsonwhichwewillapplythe
intersection.
返回值:Array,containtheresultoftheintersectionbetweenthose
keys.Iftheintersectionbeteenthedifferentsetsisempty,thereturnvalue
willbeemptyarray.
范例:
redis−>sAdd(‘key1',‘val1');redis->sAdd(‘key1′,‘val2′);
redis−>sAdd(‘key1',‘val3');redis->sAdd(‘key1′,‘val4′);
redis−>sAdd(‘key2',‘val3');redis->sAdd(‘key2′,‘val4′);
redis−>sAdd(‘key3',‘val3');redis->sAdd(‘key3′,
‘val4′);
var_dump($redis->sInter(‘key1′,‘key2′,
‘key3′));
输出:
array(2){[0]=>string(4)“val4″[1]=>string(4)
“val3″}
sInterStore
描述:
执行sInter命令并把结果储存到新建的变量中。
参数:
Key:
dstkey,thekeytostorethediffinto.
Keys:key1,key2…keyN.key1..keyN
areintersectedasinsInter.
返回值:INTEGER:Thecardinalityoftheresulting
set,orFALSEincaseofamissingkey.
范例:
redis−>sAdd(‘key1',‘val1');redis->sAdd(‘key1′,‘val2′);
redis−>sAdd(‘key1',‘val3');redis->sAdd(‘key1′,‘val4′);
redis−>sAdd(‘key2',‘val3');redis->sAdd(‘key2′,‘val4′);
redis−>sAdd(‘key3',‘val3');redis->sAdd(‘key3′,
‘val4′);
var_dump(redis−>sInterStore(‘output′,‘key1',‘key2',‘key3'));vardump(redis->sMembers(‘output’));
输出:
int(2)
array(2)
{
[0]=>
string(4)“val4″
[1]=>
string(4)“val3″
}
sUnion
描述:
返回一个所有指定键的并集
参数:
Keys:key1,
key2,…,keyN:Anynumberofkeyscorrespondingtosetsin
redis.
返回值:
Arrayofstrings:Theunionofallthese
sets.
范例:
redis−>delete(′s0',′s1',′s2');redis->sAdd(’s0′,
‘1′);
redis−>sAdd(′s0',‘2');redis->sAdd(’s1′,
‘3′);
redis−>sAdd(′s1',‘1');redis->sAdd(’s2′,
‘3′);
redis−>sAdd(′s2',‘4');vardump(redis->sUnion(’s0′,’s1′,
’s2′));
输出:
array(4){
[0]=>
string(1)
“3″
[1]=>
string(1)“4″
[2]=>
string(1)
“1″
[3]=>
string(1)“2″
}
sUnionStore
描述:
执行sUnion命令并把结果储存到新建的变量中。
参数:
Key:
dstkey,thekeytostorethediffinto.
Keys:key1,key2,…,keyN:Any
numberofkeyscorrespondingtosetsinredis.
返回值:
INTEGER:The
cardinalityoftheresultingset,orFALSEincaseofamissing
key.
范例:
redis−>delete(′s0',′s1',′s2');redis->sAdd(’s0′,
‘1′);
redis−>sAdd(′s0',‘2');redis->sAdd(’s1′,
‘3′);
redis−>sAdd(′s1',‘1');redis->sAdd(’s2′,
‘3′);
redis−>sAdd(′s2',‘4');vardump(redis->sUnionStore(‘dst’,
’s0′,’s1′,
’s2′));
var_dump($redis->sMembers(‘dst’));
输出:
int(4)
array(4)
{
[0]=>
string(1)“3″
[1]=>
string(1)
“4″
[2]=>
string(1)“1″
[3]=>
string(1)“2″
}
sDiff
描述:
返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys:
key1,key2,…,keyN:Anynumberofkeyscorrespondingtosetsin
redis.
返回值:Arrayofstrings:Thedifferenceofthefirstsetwillallthe
others.
范例:
redis−>delete(′s0',′s1',′s2');redis->sAdd(’s0′,
‘1′);
redis−>sAdd(′s0',‘2');redis->sAdd(’s0′,
‘3′);
redis−>sAdd(′s0',‘4');redis->sAdd(’s1′,
‘1′);
redis−>sAdd(′s2',‘3');vardump(redis->sDiff(’s0′,’s1′,
’s2′));
array(2){
[0]=>
string(1)“4″
[1]=>
string(1)
“2″
}
sDiffStore
描述:
执行sDiff命令并把结果储存到新建的变量中。
参数:
Key:
dstkey,thekeytostorethediffinto.
Keys:key1,key2,…,keyN:Any
numberofkeyscorrespondingtosetsinredis
返回值:INTEGER:Thecardinalityof
theresultingset,orFALSEincaseofamissing
key.
范例:
redis−>delete(′s0',′s1',′s2');redis->sAdd(’s0′,
‘1′);
redis−>sAdd(′s0',‘2');redis->sAdd(’s0′,
‘3′);
redis−>sAdd(′s0',‘4');redis->sAdd(’s1′,
‘1′);
redis−>sAdd(′s2',‘3');vardump(redis->sDiffStore(‘dst’,
’s0′,’s1′,’s2′));
var_dump($redis->sMembers(‘dst’));
Returnvalue:
thenumberofelementsofs0thatareneitherins1norin
s2.
int(2)
array(2){
[0]=>
string(1)
“4″
[1]=>
string(1)“2″
}
sMembers,sGetMembers
描述:
返回集合的内容
参数:Key:
key
返回值:Anarrayofelements,thecontentsofthe
set.
范例:
redis−>delete(′s′);redis->sAdd(’s’,
‘a’);
redis−>sAdd(′s′,‘b′);redis->sAdd(’s’,
‘a’);
redis−>sAdd(′s′,‘c′);vardump(redis->sMembers(’s’));
Output:
array(3)
{
[0]=>
string(1)“c”
[1]=>
string(1)
“a”
[2]=>
string(1)“b”
}
getSet
描述:
返回当前的Key的值,并修改Key为新的值。
参数:
Key:
key
STRING:value
返回值:
Astring,thepreviousvaluelocatedatthis
key.
范例:
redis−>set(‘x′,‘42');exValue=redis−>getSet(‘x′,‘lol′);//return‘42',replacesxby‘lol′newValue=$redis->get(‘x’)’
//return‘lol’