跳到正文

游民营地

主题: 开发运维

Redis CLI 常用命令速查

汇总 Redis CLI 常用连接、查看与管理命令,供命令行操作时速查。

作者 一只游民Developer and YouTuber

发布于 更新于 约 2 分钟读完

Redis CLI 连接、键查询与数据结构命令速查

如果需要排查 Redis 中的缓存数据,可以先在隔离的本地测试环境熟悉连接和查询命令,再按组织授权流程处理生产问题。不要读取、转发或复用短信验证码等认证数据来绕过账户恢复流程;需要更换绑定手机时应使用服务的正式身份核验机制。

以下示例仅针对本机临时容器。生产实例通常需要身份验证与最小权限,不应照抄示例配置。

# 运行只供本机练习的临时 Redis 容器,不向主机网络暴露端口
docker run -it --rm --name redis redis:alpine

# 在容器内启动 Redis CLI
docker exec -it redis redis-cli

需要连接远程实例时,可按授权范围指定 -h 和 -p;不要将真实凭证直接写进命令、脚本或笔记,避免出现在进程列表或终端历史中。

Key

# 逐步扫描匹配前缀的键,避免在大数据集上用 KEYS 阻塞服务
scan 0 match user:* count 100

# 判断 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

评论

评论由 GitHub Discussions 提供。发表评论、回复或添加反应需要使用 GitHub 登录。

正在加载评论服务…

同一本笔记里的另外三篇,按主题挑选,不靠算法。

更多好文