以下内容来自官网,redis常用命令:http://www.redis.cn/commands.html
官网有详细的命令解释。
list:
LRANGE key start stop
返回值
array-reply: 指定范围里的列表元素。
例子
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LRANGE mylist 0 0
1) "one"
redis> LRANGE mylist -3 2
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist -100 100
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist 5 10
(empty list or set)
redis>
hash:
HKEYS key
起始版本:2.0.0
时间复杂度:O(N) where N is the size of the hash.
返回 key 指定的哈希集中所有字段的名字。
返回值
array-reply:哈希集中的字段列表,当 key 指定的哈希集不存在时返回空列表。
例子
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HKEYS myhash
1) "field1"
2) "field2"
redis>
HMSET key field value [field value ...]
起始版本:2.0.0
时间复杂度:O(N) where N is the number of fields being set.
设置 key
指定的哈希集中指定字段的值。该命令将重写所有在哈希集中存在的字段。如果 key
指定的哈希集不存在,会创建一个新的哈希集并与 key
关联
返回值
例子
redis> HMSET myhash field1 "Hello" field2 "World"
OK
redis> HGET myhash field1
"Hello"
redis> HGET myhash field2
"World"
redis>
String类型常用:
APPEND key value
起始版本:2.0.0
时间复杂度:O(1)。均摊时间复杂度是O(1), 因为redis用的动态字符串的库在每次分配空间的时候会增加一倍的可用空闲空间,所以在添加的value较小而且已经存在的 value是任意大小的情况下,均摊时间复杂度是O(1) 。
如果 key
已经存在,并且值为字符串,那么这个命令会把 value
追加到原来值(value)的结尾。 如果 key
不存在,那么它将首先创建一个空字符串的key
,再执行追加操作,这种情况 APPEND 将类似于 SET 操作。
返回值
Integer reply:返回append后字符串值(value)的长度。
例子
redis> EXISTS mykey
(integer) 0
redis> APPEND mykey "Hello"
(integer) 5
redis> APPEND mykey " World"
(integer) 11
redis> GET mykey
"Hello World"
redis>
GET key
起始版本:1.0.0
时间复杂度:O(1)
返回key
的value
。如果key不存在,返回特殊值nil
。如果key
的value
不是string,就返回错误,因为GET
只处理string类型的values
。
返回值
simple-string-reply:key对应的value,或者nil(key不存在时)
例子
redis> GET nonexisting
(nil)
redis> SET mykey "Hello"
OK
redis> GET mykey
"Hello"
redis>