一、字符串
命令 | 说明 |
---|---|
set key val [ex seconds | px milliseconds] [nx|xx] | 设置字符串的值 |
ex:秒级过期时间 | |
px:毫秒级过期时间 | |
nx:键不存在才能设置成功,用于添加 | |
xx:键存在才能设置成功,用于编辑 | |
setnx key val | 键不存在才能设置成功,用于添加 |
setex key seconds val | 键存在才能设置成功,用于编辑 |
mset [key val ...] | 批量设置键值 |
get key | 获取值 |
mget [key ...] | 批量获取值 |
incr key | 自增 |
值非整数返回错误 | |
值是整数返回自增结果 | |
键不存在按0自增返回1 | |
decr key | 自减 |
值非整数返回错误 | |
值是整数返回自减结果 | |
键不存在按0自减返回-1 | |
incrby key increment | 自增指定增量 |
decrby key decrement | 自减指定减量 |
incrbyfloat key increment | 自增指定浮点数 |
append key val | 给字符串尾部追加字符 |
strlen key | 计算字符串长度 |
getset key val | 设置新值并返回原值 |
setrange key offset val | 设置指定位置的字符 |
getrange key start end | 获取指定位置字符串 |
二、哈希
命令 | 说明 |
---|---|
hset key field val | 设置字段值 |
gset key field | 获取字段值 |
hdel key [field ...] | 批量删除字段值 |
hlen key | 计算字段个数 |
hmset key [field val ...] | 批量设置字段值 |
hmget key [field ...] | 批量获取字段值 |
hexists key field | 判断字段是否存在 |
hkeys key | 获取该键所有字段名称 |
hvals key | 获取该键所有值 |
hgetall key | 获取该键所有字段与值 |
hincrby key field increment | 自增指定增量 |
hincrbyfloat key field increment | 自增指定浮点数增量 |
hstrlen key field | 计算字符串长度 |
三、列表
命令 | 说明 |
---|---|
rpush key [val ...] | 从右边插入元素 |
lpush key [val ...] | 从左边插入元素 |
linsert key [before | after] pivot val | 向某元素前或后插入元素 |
搜索首个pivot元素,搜索不到返回-1 | |
在pivot元素前或后插入元素 | |
lrange key start end | 查找指定范围的元素列表,包括start和end下标的元素 |
lindex key index | 获取列表指定索引下标的元素 |
llen key | 获取列表的元素总数 |
lpop key | 从列表左侧弹出元素。例:a b c => b c |
rpop key | 从列表右侧弹出元素。例:a b c => a b |
lrem key count val | 删除指定元素。搜索等于val的元素删除 |
count > 0 从左到右删除至多count个元素 | |
count < 0 从右到左删除至多count个元素 | |
count = 0 删除所有元素 | |
ltrim key start end | 按照索引范围【闭区间】修剪列表,范围外的元素删除 |
lset key index val | 修改指定索引下标的元素 |
blpop [key ...] timeout | 从左侧阻塞式弹出 |
brpop [key ...] timeout | 从右侧阻塞式弹出 |
列表为空 timeout > 0 ,timeout秒后弹出空值,期间有元素插入将直接弹出 timeout = 0 ,一直阻塞等待,直至有元素插入,然后弹出 |
|
列表不为空将直接弹出 | |
多个键时,从左到右遍历,一旦有一个键能弹出元素,立即返回 | |
多个客户端对同一个键执行brpop时 最先执行的可以获得弹出值;其余的继续阻塞 |
四、集合
命令 | 说明 |
---|---|
sadd key [member ...] | 添加成员 |
srem key [member ...] | 删除成员 |
scard key | 计算成员个数 |
sismember key member | 判断成员是否存在于集合中 |
srandmember key count | 随机从集合返回指定个数成员 |
spop key count | 随机从集合弹出指定个数成员 |
smembers key | 获取所有成员 |
sinter [key ...] | 交集 |
sunion [key ...] | 并集 |
sdiff [key ...] | 差集 |
sinterstore destination [key ...] | 交集并保存为新集合 destination:新集合名称 |
sunionstore destination [key ...] | 并集并保存为新集合 |
sdiffstore destination [key ...] | 差集并保存为新集合 |
五、有序集合
命令 | 说明 |
---|---|
zadd key [nx|xx] [ch] [incr] [score member ...] | 添加成员 |
nx:键不存在才能设置成功,用于添加 | |
xx:键存在才能设置成功,用于编辑 | |
ch:返回操作后元素和分数发生变化的个数 | |
incr:对score做自增,增量为此次命令的score值 | |
zcard | 获取成员个数 |
zscore key member | 获取某个成员分数 |
zrank key member | 计算成员的score在集合中的排名,从低到高 |
zrevrank key member | 计算成员的score在集合中的排名,从高到低 |
zrem key [member ...] | 删除成员 |
zincrby key increment member | 增加成员分数 |
zrange key start end [withscores] | 返回指定排名范围的成员,从低到高 |
withscores:同时返回成员分数 | |
zrevrange key start end [withscores] | 返回指定排名范围的成员,从高到低 |
zrangebyscore key min max [withscores] [limit offset count] | 返回指定分数范围的成员。从低到高 |
withscores:同时返回成员分数 | |
limit offset count:限制输出的起始位置和个数 | |
min和max支持开区间、闭区间、无限小(-inf)、无限大(+inf) | |
zrevrangebyscore key min max [withscores] [limit offset count] | 返回指定分数范围的成员。从高到低 |
zcount key min max | 返回指定分数范围成员个数 |
zremrangebyrank key start end | 删除指定排名内的升序元素 |
zremrangebyscore key min max | 删除指定分数内的成员 |
zinterstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] | 交集并保存 |
destination:新集合名称 | |
numkeys:需要做交集计算的键的个数 | |
weights:每个键的权重,交集计算时,每个键的member会将分数乘以权重。权重默认1 | |
aggregate:计算交集后,分值可按sum、min、max做汇总。默认sum | |
zunionstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] | 并集并保存。参数同上 |
参考《Redis开发与运维》
网友评论