您的位置:首页 > 数据库 > Redis

Redis常用命令

2016-08-09 13:09 344 查看
Redis::__construct

描述:

创建一个Redis客户端

范例:

$redis = new Redis();

connect, open

描述:

实例连接到一个Redis.

参数:host:

string port: 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

key2 key3 … 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

the number stored at key by one. If the second argument is filled, it will be

used as the integer value of the increment.

参数:key value:将被添加到键的值

返回值:INT

the new value

范例:

$redis->incr(‘key1′); /* key1 didn’t exists, set to 0

before the increment */

/* and now has the value 1 */

redis−>incr(‘key1');/∗2∗/
redis->incr(‘key1′); /* 3 */

$redis->incr(‘key1′); /* 4 */

decr

描述:

数字递减存储键值。如果第二个参数被填满,它将被用来作为整数值递减

Decrement

the number stored at key by one. If the second argument is filled, it will be

used as the integer value of the decrement.

参数:key value:将被添加到键的值

返回值:INT

the new value

范例:

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

The new length of the list in case of success, FALSE in case of

Failure.

范例:

redis−>delete(‘key1');
redis->lPush(‘key1′, ‘C’);

// returns 1

redis−>lPush(‘key1',‘B′);//returns2
redis->lPush(‘key1′, ‘A’); // returns 3

/* key1 now points to the

following list: [ 'A', 'B', 'C' ] */

rPush

描述:

由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。

参数:key,value

返回值:LONG

The new length of the list in case of success, FALSE in case of

Failure.

范例:

redis−>delete(‘key1');
redis->lPush(‘key1′, ‘C’);

// returns 1

redis−>lPush(‘key1',‘B′);//returns2
redis->lPush(‘key1′, ‘A’); // returns 3

/* key1 now points to the

following list: [ 'A', 'B', 'C' ] */

lPop

描述:

返回和移除列表的最后一个元素

参数:key

返回值:STRING

if command executed successfully BOOL FALSE in case of failure (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

if command executed successfully BOOL FALSE in case of failure (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

The size of the list identified by Key exists.

BOOL FALSE if the data type

identified by Key is not list

范例:

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。

参数:key index

返回值:

String the

element at this index

Bool FALSE if the key identifies a non-string data

type, or no value corresponds to this index in the list

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

描述:

为列表指定的索引赋新的值.

参数:key index

value

返回值:BOOL TRUE if the new value is setted. FALSE if the index is out of

range, or data type identified by key is not a

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的倒数第二…

参数:key start

end

返回值:

Array containing the values in specified

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

count value

返回值:

LONG the number of elements to remove

BOOL FALSE if

the value identified by key is not a list.

范例:

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

返回值:

BOOL TRUE if value didn’t exist and was added successfully,

FALSE if the value is already present.

范例:

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

返回值:BOOL TRUE if the member was present in the set, FALSE if it

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

dstKey member

返回值:BOOL If the operation is successful, return TRUE. If the

srcKey and/or dstKey didn’t exist, and/or the member didn’t exist in srcKey,

FALSE is returned.

范例:

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

返回值:BOOL TRUE if value is a member of the set at key key, 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

the cardinality of the set identified by key, 0 if the set doesn’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” value Bool FALSE if set identified by key is empty or doesn’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: keys identifying the different sets on which we will apply the

intersection.

返回值:Array, contain the result of the intersection between those

keys. If the intersection beteen the different sets is empty, the return value

will be empty array.

范例:

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, the key to store the diff into.

Keys: key1, key2… keyN. key1..keyN

are intersected as in sInter.

返回值:INTEGER: The cardinality of the resulting

set, or FALSE in case of a missing key.

范例:

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: Any number of keys corresponding to sets in

redis.

返回值:

Array of strings: The union of all these

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, the key to store the diff into.

Keys: key1, key2, … , keyN: Any

number of keys corresponding to sets in redis.

返回值:

INTEGER: The

cardinality of the resulting set, or FALSE in case of a missing

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: Any number of keys corresponding to sets in

redis.

返回值:Array of strings: The difference of the first set will all the

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, the key to store the diff into.

Keys: key1, key2, … , keyN: Any

number of keys corresponding to sets in redis

返回值:INTEGER: The cardinality of

the resulting set, or FALSE in case of a missing

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’));

Return value:

the number of elements of s0 that are neither in s1 nor in

s2.

int(2)

array(2) {

[0]=>

string(1)

“4″

[1]=>

string(1) “2″

}

sMembers, sGetMembers

描述:

返回集合的内容

参数:Key:

key

返回值:An array of elements, the contents of the

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

返回值:

A string, the previous value located at this

key.

范例:

redis−>set(‘x′,‘42');
exValue = redis−>getSet(‘x′,‘lol′);//return‘42',replacesxby‘lol′newValue
= $redis->get(‘x’)’

// return ‘lol’
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: