Skip to main content

Command Palette

Search for a command to run...

Redis CLI 常用命令速查

Published
2 min read
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

More from this blog

硬核Clash 配置教程,终极分流规则防配置覆盖

最近发现使用香港代理访问new bing貌似被封禁了,于是就要修改一下家里软路由的代理分流规则,因为手上的主力机是MacBook,好用的代理软件最常用的也是Clash X,那索性就一起搞了,正好有小伙伴问我想自定义Clash的分流规则,网上查了资料改是改了,结果一更新订阅链接,自己的辛辛苦亏写的配置就被无情的覆盖了,问我怎么避免这个问题。那就借此机会简单整理一个硬核一点的教程吧。 https://youtu.be/E86j-EwWKuM 很多同学看到一大坨的配置文件就头疼,其实大可不必,Cl...

Apr 29, 20234 min read71K
硬核Clash 配置教程,终极分流规则防配置覆盖

2023最新iPhone刷运动步数教程(非小米运动)

在现代社会,我们的生活方式越来越习惯于久坐不动,这对于我们的健康非常不利。而步数是衡量我们运动量的一种重要指标,为了更好地掌握自己的运动状态,很多人都在寻找一些方法来刷步数。 https://youtu.be/wR333Zn91rw 本文将介绍如何使用iPhone刷运动步数的方法。关于这个话题网络上的提供的方法大多都是使用小米运动(zeep life)APP,通过相关网站或者一些爱好者开发的应用程序(本质上都是通过发送API请求)修改其运动步数,然后再同步到iOS系统中进而修改iPhone中...

Apr 20, 20231 min read5.0K
2023最新iPhone刷运动步数教程(非小米运动)

Google Voice简单保号教程

Google Voice 是由 Google 提供的一项语音通信服务,它允许用户使用一个电话号码来接收和发送电话、短信和语音邮件等信息。Google Voice 提供了许多方便实用的功能,例如语音信箱转录、呼叫转移、呼叫筛选、呼叫记录等,同时还提供了许多免费或低成本的通信服务选项,例如国际长途、语音会议和互联网电话等。此外,Google Voice 还可以通过桌面和移动应用程序进行访问和管理,使其非常易于使用和管理。 Google Voice 有以下主要的优点: 一号多用:用户可以将自己的 G...

Apr 16, 20231 min read1.2K
Google Voice简单保号教程

加速阿里云服务器文件上传下载

在系统规模不大的情况下我们经常会将所有系统服务部署在一台服务器上,此时就经常需要在本地与服务器之间互传文件,如,下载服务器端程序运行日志,本地上传Docker镜像文件到服务器端等。 如果是较小的文件传输我们可以使用scp命令或搭建FTP服务使用各种FTP命令或工具进行文件传输,但如果传输文件较大时,将占用大量服务器带宽,且传输速度往往也被约束。下面笔者通过FTP下载阿里云VPS上一个1.78G的示例文件,下载速度仅有1.4M/s,耗时约25分钟。 类似于阿里云等知名服务器提供商除了提供基础的V...

Feb 3, 20231 min read167
加速阿里云服务器文件上传下载
A

A Nomad

29 posts

just a soul nomad