Redis CLI 常用命令速查

Redis CLI 常用命令速查

昨天正在与老婆愉快的过着周末,突然客户电话打来:

客户:“喂,那个谁啊,我这登录设备受限,需要手机验证码进行二次校验啊” 我:“那你收个验证码不就得了” 客户:“公司账号绑定的是那个某某的手机号,他联系不上了呀” 我:“莫慌,我查一下阿里云短信服务后台的记录” 。。。 一查,阿里云后台贴心的将短信验证码内容优雅的表达为了*,那好吧,联系客户更换绑定手机,客户果断决绝且表示着急使用,务必尽快解决。

虽然周末度假的心情不再美丽,但客户既然提出了问题还得解决。问了下公司开发同事,短信验证码发送之后会将验证码内容临时写到 Redis 中,而 Redis 又是跑在了一个 Docker 容器中。那这问题就简单起来了,让客户正常发送下验证码,我进Redis容器通过Redis CLI 查看下验证码内容发给客户就得了,问题迎刃而解,继续美丽的周末。

废话说完,下面简单整理下进入 Redis 容器并通过控制台客户端查询数据的过程, shut up and just show the code.

# 运行 Reids 容器
docker run -it --rm -p 6379:6379 --name redis redis:alpine redis-server --requirepass 123456

# 进入 Redis 容器
docker exec -it redis sh

通过上面指令先把模拟环境搞起来,随便运行个 Redis 容器,设置个 123456 的密码,完了进入容器内部。

下面我们通过控制台来连接Redis服务器。

# 连接 redis 服务器  -h -p -a 参数分别指定 主机、端口、密码,可按需填写或省略
redis-cli -h 127.0.0.1 -p 6379 -a 123456

Key

# 模糊搜索 key
keys pattern

# 判断 key 是否存在
exists key

# 返回 key所存值的类型
type key

# 删除制定 key
del key

# 设置 key 过期时间
expire key seconds

String

# 设置指定的key
set key value

# 获取指定key的值
get key

# 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
getset key value

# 返回 key 中字符串值的子字符
getrange key start end

# 只有在 key 不存在时设置 key 的值
setnx key value

# 返回 key 所储存的字符串值的长度
strlen key

# 如果 key 已经存在并且是一个字符串, append命令将指定的value追加到该key原来值(value)的末尾
append key value

Hash

# 获取在哈希表中指定 key 的所有字段和值
hgetall key

#    获取存储在哈希表中指定字段的值
hget key field

# 将哈希表 key 中的字段 field 的值设为 value
hset key field value

# 获取所有哈希表中的字段
hkeys key

# 获取哈希表中所有值
hvals key

# 查看哈希表 key 中,指定的字段是否存在
hexists key field

# 删除一个或多个哈希表字段
hdel key field1 field2

List

#     通过索引获取列表中的元素
lindex key index

# 获取列表长度
llen key

# 移出并获取列表的第一个元素
lpop key

# 移除列表的最后一个元素,返回值为移除的元素
rpop key

# 将一个或多个值插入到列表头部
lpush key value1 [value2]

# 获取列表指定范围内的元素
lrange key start stop

# 通过索引设置列表元素的值
lset key index value

Set

# 返回集合中的所有成员
smembers key

# 移除集合中一个或多个成员
srem key member1 [member2]

# 获取集合的成员数
scard key

# 判断 member 元素是否是集合 key 的成员
sismember key member

# 向集合添加一个或多个成员
sadd key member1 [member2]

# 返回集合之间的差集
sdiff key1 [key2]

# 返回给定集合的交集
sinter key1 [key2]

# 返回所有给定集合的并集
sunion key1 [key2]

Sorted Set

# 向有序集合添加一个或多个成员,或者更新已存在成员的分数
zadd key score1 member1 [score2 member2]

#  获取有序集合的成员数
zcard key

# 计算在有序集合中指定区间分数的成员数
zcount key min max

# 在有序集合中计算指定字典区间内成员数量
zlexcount key min max

# 在有序集合中计算指定字典区间内成员数量
zrange key start stop [WITHSCORES]

# 通过字典区间返回有序集合的成员
zrangebylex key min max [LIMIT offset count]

# 通过分数返回有序集合指定区间内的成员
zrangebyscore key min max [WITHSCORES] [LIMIT]

# 返回有序集合中指定成员的索引
zrank key member

# 移除有序集合中的一个或多个成员
zrem key member [member ...]

# 移除有序集合中给定的字典区间的所有成员
zremrangebylex key min max

# 移除有序集合中给定的排名区间的所有成员
zremrangebyrank key start stop

# 移除有序集合中给定的分数区间的所有成员
zremrangebyscore key min max

# 返回有序集中指定区间内的成员,通过索引,分数从高到低
zrevrange key start stop [WITHSCORES]

# 返回有序集中指定分数区间内的成员,分数从高到低排序
zrevrangebyscore key max min [WITHSCORES]

# 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
zrevrank key member

# 返回有序集中,成员的分数值
zscore key member