文档库 最新最全的文档下载
当前位置:文档库 › redis命令

redis命令

Redis命令总结


连接操作相关的命令
?quit:关闭连接(connection)
?auth:简单密码认证


持久化
?save:将数据同步保存到磁盘
?bgsave:将数据异步保存到磁盘
?lastsave:返回上次成功将数据保存到磁盘的Unix时戳
?shundown:将数据同步保存到磁盘,然后关闭服务


远程服务控制
?info:提供服务器的信息和统计
?monitor:实时转储收到的请求
?slaveof:改变复制策略设置
?config:在运行时配置Redis服务器


对value操作的命令
?exists(key):确认一个key是否存在
?del(key):删除一个key
?type(key):返回值的类型
?keys(pattern):返回满足给定pattern的所有key
?randomkey:随机返回key空间的一个
?keyrename(oldname, newname):重命名key
?dbsize:返回当前数据库中key的数目
?expire:设定一个key的活动时间(s)
?ttl:获得一个key的活动时间
?select(index):按索引查询
?move(key, dbindex):移动当前数据库中的key到dbindex数据库
?flushdb:删除当前选择数据库中的所有key
?flushall:删除所有数据库中的所有key


对String操作的命令
?set(key, value):给数据库中名称为key的string赋予值value
?get(key):返回数据库中名称为key的string的value
?getset(key, value):给名称为key的string赋予上一次的value
?mget(key1, key2,…, key N):返回库中多个string的value
?setnx(key, value):添加string,名称为key,值为value
?setex(key, time, value):向库中添加string,设定过期时间time
?mset(key N, value N):批量设置多个string的值
?msetnx(key N, value N):如果所有名称为key i的string都不存在
?incr(key):名称为key的string增1操作
?incrby(key, integer):名称为key的string增加integer
?decr(key):名称为key的string减1操作
?decrby(key, integer):名称为key的string减少integer
?append(key, value):名称为key的string的值附加value
?substr(key, start, end):返回名称为key的string的value的子串


对List操作的命令
?rpush(key, value):在名称为key的list尾添加一个值为value的元素
?lpush(key, value):在名称为key的list头添加一个值为value的 元素
?llen(key):返回名称为key的list的长度
?lrange(key, start, end):返回名称为key的list中start至end之间的元素
?ltrim(key, start, end):截取名称为key的list
?lindex(key, index):返回名称为key的list中index位置的元素
?lset(key, index, value):给名称为key的list中index位置的元素赋值
?lrem(key, count, value):删除count个key的list中值为value的元素
?lpop(key):返回并删除名称为key的list中的首元素
?rpop(key):返回并删除名称为key的list中的尾元素
?blpop(key1, key2,… key N, timeout):lpop命令的block版本。
?brpop(key1, key2,…

key N, timeout):rpop的block版本。
?rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部


对Set操作的命令
?sadd(key, member):向名称为key的set中添加元素member
?srem(key, member) :删除名称为key的set中的元素member
?spop(key) :随机返回并删除名称为key的set中一个元素
?smove(srckey, dstkey, member) :移到集合元素
?scard(key) :返回名称为key的set的基数
?sismember(key, member) :member是否是名称为key的set的元素
?sinter(key1, key2,…key N) :求交集
?sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
?sunion(key1, (keys)) :求并集
?sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
?sdiff(key1, (keys)) :求差集
?sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
?smembers(key) :返回名称为key的set的所有元素
?srandmember(key) :随机返回名称为key的set的一个元素


对Hash操作的命令
?hset(key, field, value):向名称为key的hash中添加元素field
?hget(key, field):返回名称为key的hash中field对应的value
?hmget(key, (fields)):返回名称为key的hash中field i对应的value
?hmset(key, (fields)):向名称为key的hash中添加元素field
?hincrby(key, field, integer):将名称为key的hash中field的value增加integer
?hexists(key, field):名称为key的hash中是否存在键为field的域
?hdel(key, field):删除名称为key的hash中键为field的域
?hlen(key):返回名称为key的hash中元素个数
?hkeys(key):返回名称为key的hash中所有键
?hvals(key):返回名称为key的hash中所有键对应的value
?hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value



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’); /* 返回 FALSE */


delete
描述:
删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1
key2 key3 … key

N
返回值:删除的项数
范例:
$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′); /* key1 didn’t exists, set to 0
before the increment */
/* and now has the value -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’); // returns
2
$redis->lPush(‘key1′, ‘A’); // returns 3
/* key1 now points to the
following list: [ 'A', 'B', 'C' ] */


rPush
描述:
由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:LONG
Th

e 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’); // returns
2
$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 m

ember 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′));


var_dump($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′);
var_dump($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′);
var_dump($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′);
var_dump($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′);
var_dump($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’);
var_dump($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′, replaces x by ‘lol’
$newValue = $redis->get(‘x’)’
// return ‘lol’

相关文档