1、string
set key value
get key
setex key seconds value 设置指定key的指,并将key的过期时间设置为seconds秒
setnx key value 只有在key不存在时设置key的值(分布式锁),返回0、1
2、hash
key可以看作表名,field就是表的字段。
结构:
| field1 | value1 |
key --> | field2 | value2 |
| field3 | value3 |
hset key field value 将哈希表key中的字段field的值设置为value
hget key field
hdel key field
hkeys key 获取哈希表中所有的字段 field1,...
hvals key 获取哈希表中所有的值 value1,...
hgetall key 获取在哈希表中指定key的所有字段和值 {field1_value1, field2_value2,...}
3、list
list列表是简单的字符串列表
结构:key --> a | b | c | d
lpush key value1 [value2] 将一个或多个值插入到列表头部
lrange key start stop 获取指定范围里的元素
rpop key 移除并获取列表最后一个元素
llen key 获取列表长度
brpop key [key2] timeout 移出并获取列表的最后一个元素,如果列表没有元素,会阻塞列表直到等待超时 或者 发现可弹出元素为止
e.g.
lrange key 0 -1 所有元素
4、set
无序集合、不能重复
结构:
a
key --> b c
sadd key member1 [member2]
smembers key 所有成员
scard key 成员个数
sinter key1 [key2] 两个集合的交集
sunion keys [key2] 两个集合的并集
sdiff key1 [key2] 差集(key1元素-key1和key2的交集)
srem key member1 [member2]
5、sorted set
String 类型元素的有序集合,不允许重复,每个元素会关联一个 double 类型的分数(从小到大),成员唯一,分数可以重复。
结构:
(score1,a)
key --> (score2,b) (score3,c)
zadd key score1 member1 [score2 member2]
zrange key start stop [withscores] 通过索引返回指定区间内的成员(并返回分数)
zincrby key incrememt member 有序集合中对指定成员的分数加上增量increment
zrem key member [member2 ...] 移除有序集合中的一个或多个成员
通用命令
keys pattern 查找所有符合给定模式的key
exists key 检查指定key是否存在
type key 返回key所存储的值的类型 set\zset\hash\string等
ttl key 返回给定key的剩余生存时间time to live,秒 -1:永久
del key 在key存在时删除key
e.g.
keys * 查看所有的key