`

redis常用命令

阅读更多

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′);/∗返回TRUE∗/this->redis->setnx(‘key’, ‘value’); /* 返回 FALSE */

 

delete
描述:
删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 
key2 key3 … keyN
返回值:删除的项数
范例:

 

redis−>set(‘key1',‘val1');redis−>set(‘key1′,‘val1′);redis->set(‘key2′, ‘val2′);
redis−>set(‘key3',‘val3');redis−>set(‘key3′,‘val3′);redis->set(‘key4′, ‘val4′);
redis−>delete(‘key1',‘key2');/∗返回2∗/
redis−>delete(‘key1′,‘key2′);/∗返回2∗/
redis->delete(array(‘key3′, ‘key4′)); /* 返回 2 */
 

 

 

exists
描述:
验证指定的键是否存在
参数key
返回值:Bool
范例:

this−>set(‘key′,‘value′);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′);/∗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′);/∗key1didn′texists,setto0beforetheincrement∗//∗andnowhasthevalue−1∗/redis->decr(‘key1′); /* -2 */
$redis->decr(‘key1′); /* -3 */

 

 

getMultiple
描述:
取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
范例:

redis−>set(‘key1',‘value1');redis−>set(‘key1′,‘value1′);redis->set(‘key2′, ‘value2′);
redis−>set(‘key3',‘value3');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−>delete(‘key1′);redis->lPush(‘key1′, ‘C’); 
// returns 1
redis−>lPush(‘key1',‘B′);//returns2redis−>lPush(‘key1′,‘B′);//returns2redis->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−>delete(‘key1′);redis->lPush(‘key1′, ‘C’); 
// returns 1
redis−>lPush(‘key1',‘B′);//returns2redis−>lPush(‘key1′,‘B′);//returns2redis->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′,‘A′);redis->rPush(‘key1′, 
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/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′,‘A′);redis->rPush(‘key1′, 
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/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′,‘A′);redis->rPush(‘key1′, ‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′C′,′B′,′A′]∗/redis−>rPush(‘key1′,‘C′);/∗key1=>[′C′,′B′,′A′]∗/redis->lSize(‘key1′);/* 3 
*/
redis−>rPop(‘key1');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′,‘A′);redis->rPush(‘key1′, 
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis−>rPush(‘key1′,‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis->lGet(‘key1′, 0); /* ‘A’ */
redis−>lGet(‘key1',−1);/∗‘C′∗/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′,‘A′);redis->rPush(‘key1′, 
‘B’);
redis−>rPush(‘key1',‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis−>rPush(‘key1′,‘C′);/∗key1=>[′A′,′B′,′C′]∗/redis->lGet(‘key1′, 0); /* ‘A’ */
redis−>lSet(‘key1',0,‘X′);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′,‘A′);redis->rPush(‘key1′, 
‘B’);
redis>rPush(key1',C);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′,‘A′);redis->lPush(‘key1′, ‘B’);
redis−>lPush(‘key1',‘C′);redis−>lPush(‘key1′,‘C′);redis->lPush(‘key1′, ‘A’);
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−>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′,′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′,′set1′);redis->sAdd(‘key1′ , 
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/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′,′set11′);redis->sAdd(‘key1′ , ’set12′);
redis−>sAdd(‘key1',′set13');/∗‘key1'=>′set11',′set12',′set13'∗/redis−>sAdd(‘key1′,′set13′);/∗‘key1′=>′set11′,′set12′,′set13′∗/redis->sAdd(‘key2′ , ’set21′);
redis−>sAdd(‘key2',′set22');/∗‘key2'=>′set21',′set22'∗/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′,′set1′);redis->sAdd(‘key1′ 
, ’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/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′,′set1′);redis->sAdd(‘key1′ , 
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set1',′set2',′set3'∗/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′,′set1′);redis->sAdd(‘key1′ , 
’set2′);
redis−>sAdd(‘key1',′set3');/∗‘key1'=>′set3',′set1',′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′,‘val1′);redis->sAdd(‘key1′, ‘val2′);
redis−>sAdd(‘key1',‘val3');redis−>sAdd(‘key1′,‘val3′);redis->sAdd(‘key1′, ‘val4′);
redis−>sAdd(‘key2',‘val3');redis−>sAdd(‘key2′,‘val3′);redis->sAdd(‘key2′, ‘val4′);
redis−>sAdd(‘key3',‘val3');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′,‘val1′);redis->sAdd(‘key1′, ‘val2′);
redis−>sAdd(‘key1',‘val3');redis−>sAdd(‘key1′,‘val3′);redis->sAdd(‘key1′, ‘val4′);
redis−>sAdd(‘key2',‘val3');redis−>sAdd(‘key2′,‘val3′);redis->sAdd(‘key2′, ‘val4′);
redis−>sAdd(‘key3',‘val3');redis−>sAdd(‘key3′,‘val3′);redis->sAdd(‘key3′, 
‘val4′);
var_dump(redis−>sInterStore(‘output′,‘key1',‘key2',‘key3'));vardump(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−>delete(′s0′,′s1′,′s2′);redis->sAdd(’s0′, 
‘1′);
redis−>sAdd(′s0',‘2');redis−>sAdd(′s0′,‘2′);redis->sAdd(’s1′, 
‘3′);
redis−>sAdd(′s1',‘1');redis−>sAdd(′s1′,‘1′);redis->sAdd(’s2′, 
‘3′);
redis−>sAdd(′s2',‘4');vardump(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−>delete(′s0′,′s1′,′s2′);redis->sAdd(’s0′, 
‘1′);
redis−>sAdd(′s0',‘2');redis−>sAdd(′s0′,‘2′);redis->sAdd(’s1′, 
‘3′);
redis−>sAdd(′s1',‘1');redis−>sAdd(′s1′,‘1′);redis->sAdd(’s2′, 
‘3′);
redis−>sAdd(′s2',‘4');vardump(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−>delete(′s0′,′s1′,′s2′);redis->sAdd(’s0′, 
‘1′);
redis−>sAdd(′s0',‘2');redis−>sAdd(′s0′,‘2′);redis->sAdd(’s0′, 
‘3′);
redis−>sAdd(′s0',‘4');redis−>sAdd(′s0′,‘4′);redis->sAdd(’s1′, 
‘1′);
redis−>sAdd(′s2',‘3');vardump(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−>delete(′s0′,′s1′,′s2′);redis->sAdd(’s0′, 
‘1′);
redis−>sAdd(′s0',‘2');redis−>sAdd(′s0′,‘2′);redis->sAdd(’s0′, 
‘3′);
redis−>sAdd(′s0',‘4');redis−>sAdd(′s0′,‘4′);redis->sAdd(’s1′, 
‘1′);
redis−>sAdd(′s2',‘3');vardump(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−>delete(′s′);redis->sAdd(’s’, 
‘a’);
redis−>sAdd(′s′,‘b′);redis−>sAdd(′s′,‘b′);redis->sAdd(’s’, 
‘a’);
redis−>sAdd(′s′,‘c′);vardump(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');redis−>set(‘x′,‘42′);exValue = redis−>getSet(‘x′,‘lol′);//return‘42',replacesxby‘lol′redis−>getSet(‘x′,‘lol′);//return‘42′,replacesxby‘lol′newValue = $redis->get(‘x’)’ 
// return ‘lol’

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics