基本操作:
简单CURD
- 增:设置键值对:
set key value
- 删:删除键值对:
del key
- 改:指定键的值增加1:
incr key
此处注意,incr是原子操作 - 查:根据key获取value:
get key
键值对存活时间
- 设置键值对的过期时间:
EXPIRE 键 过期时间
- 查询键值对的过期时间:
TTL 键
TTL key
的返回值为-1
,意味着这个键值对不会过时。即未设置EXPIRE
,会一直存在。TTL key
的返回值为-2
,意味这个键值对已不存在。
- 注意,使用
set
命令重新设置键值对,那么这个键值对的TTL
也会被重置为-1
列表(List)
列表的特点:
- 有特定顺序
操作如下:
- 增:
RPUSH listName value
将新值插入至列表的尾部。注意:若该列表(listName
)不存在,则创建名为listName
的新列表。LPUSH同理。 - 增:
LPUSH listName value
将新值插入至列表的首部 - 删:
RPOP listName
删除列表尾部的元素,即最后一个元素,并返回它的值。 - 删:
LPOP listName
删除列表头部的元素,即第一个元素并返回它的值。 - 查:
LRANGE listName x y
返回列表的子集。从x-1元素开始,至y-1元素为止,且子集包括x-1,y-1元素。实际该子集是闭区间[x-1,y-1]。 - 查:
LLEN listName
返回列表的长度
集合(Set)
集合的特点:
- 无特定顺序
- 每个值只出现一次
操作如下:
- 增:
SADD setName value
将value
插入至集合setName
- 删:
RADD setName value
将value
从集合setName
中移除 - 改:
SUNION setName1 setName2
将两个集合合并,并且返回合并后的所有元素 - 查:
smembers setName
返回集合中的所有元素。sismember setName value
如果value
存在于集合setName
中,将返回1,否则返回0.
有序集合(Sorted Set)
有序集合的特点:
- 有特定的顺序
- 每个值只出现一次
操作如下:
- 增:
ZADD sortedSetName weight value
将权值为weight
的value
插入至集合sortedSetName
。 - 查:
ZRANGE sortedSetName x y
返回有序集合的的子集。从x-1元素开始,至y-1元素为止,且子集包括x-1,y-1元素。实际该子集是闭区间[x-1,y-1]。
Hashes
是一个String->String的Map.非常适合表示Objects。
操作如下:
- 增:
hset hashesName stringField stringValue
,也可一次设置多个值:hset hashesName stringField stringValue stringField StringValue
- 改:
hincrby hashesName stringField value
集合hashesName
中的string
值增加value
,注意,value为原子操作。 - 查:
hgetall hashesName
hget hashesName stringField
注意
INCR
是原子操作。- 使用
set
命令重新设置键值对,那么这个键值对的TTL
也会被重置为-1
- 使用
LPUSH listName value
或RPUSH listName value
时,若该列表(listName
)不存在,则创建名为listName
的新列表。 hincrby
是原子操作。
参考自:http://try.redis.io/ redis官方教程