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’

相关推荐