Redis命令大全

发布时间:2026/9/24 8:45:44

Redis命令大全 redis-cli 命令详解从连接到高阶实战redis-cli 是 Redis 官方提供的命令行客户端是与 Redis 实例交互最直接、最灵活的工具。它既可以在命令行模式下直接执行单条命令后退出也可以进入交互式 REPL 模式进行连续操作还提供了监控、延迟分析、键空间扫描、数据导入导出等特殊模式。下面从连接、数据类型操作到高阶技巧系统梳理 redis-cli 的核心用法。一、连接 Redis从本地到远程默认情况下redis-cli 连接 127.0.0.1 的 6379 端口。在本地开发环境中直接输入redis-cli即可进入交互模式。连接远程或受保护的实例时常用参数如下参数作用示例-h指定主机名或 IP 地址redis-cli -h 192.168.1.100-p指定端口号默认 6379redis-cli -p 6380-a提供密码进行认证redis-cli -a mypassword-n选择数据库编号0-15redis-cli -n 2-c连接 Cluster 集群时启用重定向redis-cli -c -h node1 -p 6379--tls启用 SSL/TLS 加密连接redis-cli --tls -h host -p 6380连接 Cluster 集群时必须加上-c参数否则命令无法正确路由到目标节点。此外也可以使用 URI 格式一次性传入连接信息redis-cli-uredis://username:passwordhost:6379安全提示在生产环境中不要在命令行中通过-a直接传递密码因为密码会出现在 shell 历史和进程列表中。推荐使用REDISCLI_AUTH环境变量来自动向 redis-cli 提供密码。二、五大核心数据类型的命令速查Redis 支持 String、List、Hash、Set、ZSet 五种核心数据类型。redis-cli 在交互模式下提供 Tab 补全和命令历史输入命令后按回车即可执行并查看类型化回复。2.1 String字符串String 是最基础的类型适合缓存、计数器、分布式锁等场景。SET mykeyHello# 设置键值O(1)GET mykey# 获取值键不存在返回 nilMSET k1 v1 k2 v2# 原子批量设置MGET k1 k2 k3# 批量获取INCR counter# 自增 1键不存在时先置 0INCRBY counter10# 自增指定步长SETNX lock_keylocked# 仅当键不存在时设置分布式锁核心SETEX session3600data# 设置值并指定秒级过期时间APPEND mykey World# 在值末尾追加STRLEN mykey# 获取值长度SET命令还支持EX秒级过期、PX毫秒级过期、NX仅键不存在时设置、XX仅键存在时设置等选项一条命令即可完成“设置值过期时间存在性判断”的组合操作。2.2 List列表List 是双向链表结构适合消息队列、最新动态列表等场景。LPUSH mylistab# 从头部插入RPUSH mylistc# 从尾部插入LPOP mylist# 弹出头部元素RPOP mylist# 弹出尾部元素LRANGE mylist0-1# 获取全部元素0 为头-1 为尾LLEN mylist# 获取元素个数LTRIM mylist099# 仅保留前 100 个元素BLPOP mylist30# 阻塞式弹出最多等待 30 秒RPOPLPUSH src dst# 原子地将 src 尾部元素移到 dst 头部BLPOP和BRPOP的阻塞特性使其成为实现轻量级消息队列的理想选择消费者可以阻塞等待而不必轮询。2.3 Hash哈希Hash 适合存储对象的多个字段比如用户信息、商品属性。HSET user:1 nameAliceage30# 设置一个或多个字段HGET user:1 name# 获取单个字段HMSET user:1 nameAliceage30# 批量设置Redis 4.0 可直接用 HSETHMGET user:1 name age# 批量获取HGETALL user:1# 获取所有字段和值HINCRBY user:1 age1# 字段值自增HEXISTS user:1 email# 判断字段是否存在HDEL user:1 age# 删除字段HLEN user:1# 获取字段数量2.4 Set集合Set 是无序不重复集合适合标签、去重、共同好友等场景。SADD tagsredisnosql# 添加元素SREM tagsnosql# 删除元素SISMEMBER tagsredis# 判断元素是否存在SMEMBERS tags# 获取所有元素SCARD tags# 获取元素个数SINTER set1 set2# 交集SUNION set1 set2# 并集SDIFF set1 set2# 差集set1 中有而 set2 中没有SRANDMEMBER tags2# 随机获取 2 个元素不删除SPOP tags1# 随机移除并返回 1 个元素2.5 ZSet有序集合ZSet 为每个元素关联一个 score自动按 score 排序是实现排行榜的核心数据结构。ZADD leaderboard100Alice85Bob# 添加元素及分数ZRANGE leaderboard0-1WITHSCORES# 按分数升序获取ZREVRANGE leaderboard09WITHSCORES# 按分数降序获取前 10 名ZRANGEBYSCORE leaderboard80100# 按分数范围筛选ZRANK leaderboardAlice# 获取升序排名0 为最小ZREVRANK leaderboardAlice# 获取降序排名ZINCRBY leaderboard10Alice# 增加分数ZCARD leaderboard# 获取元素总数ZCOUNT leaderboard80100# 统计分数范围内的元素个数三、通用键管理与数据库操作跨数据类型的通用命令在日常运维中同样高频EXISTS key# 判断键是否存在TYPE key# 查看键的数据类型DEL key# 删除键EXPIRE key3600# 设置过期时间秒TTL key# 查看剩余生存时间PERSIST key# 移除过期时间SCAN0MATCH user:* COUNT100# 游标迭代扫描生产环境安全INFO keyspace# 查看各数据库的键数量DBSIZE# 当前数据库键总数关于键遍历有一个重要的生产禁忌KEYS *会一次性扫描所有键在键数量大时会阻塞 Redis 服务器。生产环境中应始终使用SCAN系列命令进行渐进式迭代。SCAN采用游标机制每次返回一批元素和一个新游标当游标返回 0 时表示遍历完成。需要注意的是SCAN不保证元素不重复应用层需自行处理去重。四、高阶实战技巧4.1 命令行直接执行与输出控制redis-cli 支持将命令作为参数直接传入执行后立即退出非常适合脚本化redis-cli INCR mycounter# 输出(integer) 8redis-cli GET mykey# 输出Hello当输出重定向到文件或管道时redis-cli 会自动切换到原始输出模式省略(integer)、等类型标识。也可以用--raw强制原始输出或用--no-raw强制人类可读输出。4.2 批量数据导入–pipe--pipe是向 Redis 批量加载数据最快的方式。它使用 Redis 协议直接将命令流式传输到服务器速度远高于逐条执行。典型用法是将包含 Redis 协议格式命令的文件通过管道传入catcommands.txt|redis-cli--pipe4.3 大键扫描与内存分析在排查性能问题时大键占用内存过多的键往往是罪魁祸首。redis-cli 提供了内置的扫描模式redis-cli--bigkeys# 扫描各数据类型中最大的键redis-cli--memkeys# 按内存占用扫描键redis-cli--bigkeys--memkeys# 组合使用--bigkeys基于SCAN实现不会阻塞服务器适合在生产环境中定期巡检。4.4 发布订阅redis-cli 可以直接进行发布订阅测试。打开一个终端订阅频道redis-cli SUBSCRIBE news在另一个终端发布消息redis-cli PUBLISH newsBreaking: Redis 8.0 released订阅端会实时收到消息。需要注意的是进入订阅状态的客户端无法执行除SUBSCRIBE、UNSUBSCRIBE、PSUBSCRIBE、PUNSUBSCRIBE之外的命令redis-cli 中需要按Ctrl-C退出订阅状态。4.5 执行 Lua 脚本通过EVAL或--eval可以在 redis-cli 中执行 Lua 脚本实现原子性的复杂逻辑# 内联执行redis-cli EVALreturn redis.call(SET, KEYS[1], ARGV[1])1mykeyHello# 从文件加载执行redis-cli--evalscript.lua key1 key2 , arg1 arg2Lua 脚本在 Redis 中作为一个整体执行期间不会被其他命令中断天然具备原子性适合实现“检查-设置”类的复合操作。五、生产环境安全与性能诊断5.1 安全禁忌在使用 redis-cli 操作生产实例时有几条不可逾越的红线不要在命令行中用-a传递密码改用REDISCLI_AUTH环境变量不要在生产环境执行KEYS *用SCAN替代FLUSHALL/FLUSHDB不可逆执行前先用CLIENT LIST或INFO keyspace确认目标数据库MONITOR会记录所有命令包括敏感数据绝不在生产服务器上长时间运行。5.2 延迟诊断redis-cli 内置了多种延迟检测模式redis-cli--latency# 持续测量并显示延迟统计redis-cli --latency-history# 按时间窗口分段显示延迟变化redis-cli --latency-dist# 以 ASCII 频谱图展示延迟分布redis-cli --intrinsic-latency30# 测量本机固有延迟30 秒采样--intrinsic-latency测量的是 Redis 进程所在机器的本机延迟下限用于判断延迟问题是否由系统本身导致。5.3 慢查询日志Redis 的慢查询日志记录执行时间超过阈值的命令。通过 redis-cli 查询和清理redis-cli SLOWLOG GET10# 查看最近 10 条慢查询redis-cli SLOWLOG RESET# 清空慢查询日志redis-cli SLOWLOG LEN# 查看慢查询条数慢查询阈值的配置项为slowlog-log-slower-than单位微秒默认值为 10000即 10 毫秒。结语redis-cli 远不止是一个“输入命令看结果”的简单工具。从基础的数据类型操作到--pipe批量导入、--bigkeys大键扫描、--latency延迟诊断再到 Lua 脚本执行和发布订阅测试它覆盖了 Redis 日常开发与运维的绝大多数场景。掌握这些命令的用法和适用边界尤其是在生产环境中遵守安全规范才能让 redis-cli 真正成为高效而可靠的工具。
延伸阅读

更多相关文章

2026/9/24 8:45:44

T型、π型、L型滤波拓扑选型与截止频率计算实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

NMOS高边开关驱动方案全解析:从自举到电荷泵

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

DiT详解

前言 在Sora[1]的技术报告中,作者指出Sora是一个Diffusion Transformer。这个Diffusion Transformer便是我们这里将要介绍的DiT[2]。相较于我们之前介绍的LDM[3],DiTs也是作用在潜空间,它最大的改进是将U-Net的CNN替换为了Transformer。同时…

2026/9/24 10:00:54

Xilinx USB Cable驱动安装与权限问题排查全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 10:00:54

Juniper SRX防火墙HA双机配置实战:Chassis Cluster部署与切换验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 10:00:54

基于Python的书籍推荐系统设计与实现:从协同过滤到混合策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 10:00:54

MCP安全系列之意图流颠覆

MCP安全系列之意图流颠覆 介绍 意图流颠覆相当于模型本来要去做A任务,我们通过注入让其去做B任务,或者是影响A任务的结果,即改变了Agent原本的任务流。我们这里通过一个简单代码审计示例来复现下。 复现 这里直接用CherryStudio自带的文件读取…

2026/9/24 10:00:54

投了100份海外简历0回复?直到我发现了这个AI海外求职外挂

1. 为什么海投100份简历,却收不到一个回复?很多留学生和远程求职者都有过这样的经历:精心准备的简历投出去上百份,邮箱却始终静悄悄。问题往往不在你的能力,而在于海投的方式本身——简历与岗位不匹配、投递时机不对、…

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/24 0:00:21

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:21

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:21

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码