⚠️ 重要提示
命令随 Redis 版本迭代可能增删改(如
BRPOPLPUSH已废弃,推荐LMOVE)生产环境务必以 Redis 官方命令文档 为准
本文档适合离线速查,建议收藏 + 搭配官方文档使用
模块命令(如 RedisJSON/RediSearch)未包含,需查阅对应模块文档
| 分类 | 说明 | 核心场景 |
|---|---|---|
| Keys | 键生命周期管理 | 删除/过期/扫描键 |
| Strings | 二进制安全字符串 | 缓存/计数器/位操作 |
| Hashes | 字段-值映射 | 对象存储(如用户资料) |
| Lists | 双向链表 | 消息队列/最新列表 |
| Sets | 无序唯一集合 | 标签/好友关系 |
| Sorted Sets | 按分数排序集合 | 排行榜/延迟队列 |
| Streams | 持久化消息流 | 事件溯源/日志 |
| Pub/Sub | 消息广播 | 实时通知 |
| Transactions | 命令打包执行 | 原子操作 |
| Scripting | Lua 脚本执行 | 复杂逻辑原子化 |
| Functions | 服务端函数(Redis 7.0+) | 替代部分脚本场景 |
| Connection | 客户端连接管理 | 认证/协议切换 |
| Server | 服务监控与配置 | 运维/诊断 |
| Cluster | 集群运维命令 | 分布式部署 |
| HyperLogLog | 基数估算 | UV 统计 |
| Geospatial | 位置索引 | LBS 应用 |
| Bitmaps | 位级操作 | 签到/布隆过滤器 |
DEL # 删除键(同步)UNLINK # 异步删除键(推荐大键使用)EXISTS # 检查键是否存在TYPE # 返回键的数据类型TTL / PTTL # 剩余过期时间(秒/毫秒)EXPIRE / PEXPIRE / EXPIREAT / PEXPIREAT # 设置过期PERSIST # 移除过期时间RENAME / RENAMENX # 重命名SCAN # 渐进式遍历键(替代 KEYS!)KEYS # 模糊查询键(⚠️ 生产禁用!阻塞风险)DUMP / RESTORE # 序列化/反序列化RANDOMKEY # 随机返回一个键MOVE # 移动键到其他数据库SORT # 排序(支持外部 key)WAIT # 等待副本同步确认xxxxxxxxxxSET / GET / MSET / MGET # 基础读写SETNX / SETEX / PSETEX # 条件/带过期设置GETEX / GETDEL # 获取时操作(Redis 6.2+)INCR / DECR / INCRBY / DECRBY # 整数原子增减INCRBYFLOAT # 浮点数增减APPEND / STRLEN # 追加/长度GETRANGE / SETRANGE # 子串操作BITCOUNT / BITPOS / BITOP # 位图基础(详见 Bitmaps)BITFIELD # 高级位域操作STRALGO LCS # 计算最长公共子序列(Redis 6.0+)xxxxxxxxxxHSET / HSETNX / HGET / HDEL # 字段操作HMSET (deprecated) → 用 HSET # 批量设置(HSET 支持多字段)HMGET / HGETALL # 批量获取HINCRBY / HINCRBYFLOAT # 字段值增减HKEYS / HVALS / HLEN # 元数据查询HEXISTS # 检查字段存在HSCAN # 渐进式遍历字段HRANDFIELD # 随机返回字段(Redis 6.2+)HSTRLEN # 获取字段值长度xxxxxxxxxxLPUSH / RPUSH / LPOP / RPOP # 头尾插入弹出LPUSHX / RPUSHX # 仅当列表存在时操作LINDEX / LLEN / LRANGE # 索引/长度/范围查询LINSERT # 指定元素前后插入LREM / LSET / LTRIM # 删除/修改/修剪LMOVE # 原子转移元素(替代 RPOPLPUSH)BLPOP / BRPOP # 阻塞式弹出(消息队列核心)BLMOVE # 阻塞式转移(Redis 6.2+)LMPOP / BLMPOP # 弹出多个列表元素(Redis 7.0+)LPOS # 查找元素位置(Redis 6.0+)xxxxxxxxxxSADD / SREM # 添加/删除成员SCARD / SMEMBERS # 基数/全量成员SISMEMBER / SMISMEMBER # 单/批量存在检查SINTER / SUNION / SDIFF # 交/并/差集SINTERSTORE / SUNIONSTORE / SDIFFSTORE # 结果存新集合SRANDMEMBER / SPOP # 随机获取/弹出SSCAN # 渐进式遍历xxxxxxxxxxZADD # 添加成员(支持 NX/XX/CH 等选项)ZREM / ZCARD / ZSCORE # 删除/计数/查分ZRANGE / ZREVRANGE # 按排名范围(支持 WITHSCORES)ZRANGEBYSCORE / ZREVRANGEBYSCORE # 按分数范围ZRANGEBYLEX / ZREVRANGEBYLEX # 按字典序范围ZRANK / ZREVRANK # 查询排名ZINCRBY # 增量更新分数ZPOPMIN / ZPOPMAX # 弹出最小/最大分成员BZPOPMIN / BZPOPMAX # 阻塞式弹出ZMPOP / BZMPOP # 弹出多个成员(Redis 7.0+)ZUNION / ZINTER / ZDIFF # 并/交/差集(Redis 6.2+)ZUNIONSTORE / ZINTERSTORE / ZDIFFSTORE # 结果存储ZMSCORE # 批量查分ZSCAN # 渐进式遍历xxxxxxxxxxXADD # 追加消息(支持 MAXLEN 修剪)XREAD / XREADGROUP # 读取(支持阻塞 BLOCK)XRANGE / XREVRANGE # 按 ID 范围查询XLEN # 流长度XDEL # 删除消息XTRIM # 修剪流XGROUP # 消费者组管理(CREATE/DESTROY/SETID)XACK / XCLAIM / XPENDING # 消息确认与转移XAUTOCLAIM # 自动认领滞留消息(Redis 6.2+)XINFO # 查看流/组元数据xxxxxxxxxxPUBLISH # 发布消息到频道SUBSCRIBE / UNSUBSCRIBE # 订阅/退订频道PSUBSCRIBE / PUNSUBSCRIBE # 模式订阅(如 news.*)PUBSUB CHANNELS / NUMSUB / NUMPAT # 查询订阅状态xxxxxxxxxxMULTI # 标记事务开始EXEC # 执行队列命令DISCARD # 放弃事务WATCH / UNWATCH # 乐观锁监控键xxxxxxxxxxEVAL / EVALSHA # 执行脚本SCRIPT LOAD / EXISTS / FLUSH # 脚本缓存管理SCRIPT KILL # 终止长时间脚本SCRIPT DEBUG # 调试模式xxxxxxxxxxFCALL / FCALL_RO # 调用函数(RO=只读)FUNCTION LOAD / DELETE / LIST # 函数库管理FUNCTION DUMP / RESTORE # 导出/导入函数FUNCTION FLUSH / STATS / KILL # 清空/统计/终止xxxxxxxxxxAUTH # 密码认证HELLO # 协议切换(RESP3,Redis 6.0+)PING / ECHO # 心跳/回显SELECT # 切换数据库(0-15)CLIENT SETNAME / GETNAME # 设置/获取连接名CLIENT ID / LIST / KILL # 连接管理QUIT # 关闭连接READONLY / READWRITE # 集群模式读写控制RESET # 重置连接状态(Redis 6.2+)xxxxxxxxxxINFO # 服务器全量信息CONFIG GET / SET / REWRITE # 配置管理ACL * # 访问控制(CAT/LIST/SETUSER... Redis 6.0+)BGSAVE / SAVE # 持久化触发BGREWRITEAOF # AOF 重写FLUSHDB / FLUSHALL # 清空数据库(慎用!)DBSIZE # 当前 DB 键数量ROLE # 查看主从角色REPLICAOF # 配置主从(替代 SLAVEOF)MEMORY USAGE / STATS / PURGE # 内存诊断(Redis 4.0+)MODULE LIST / LOAD / UNLOAD # 模块管理MONITOR # 实时命令监控(调试用)SHUTDOWN # 安全关闭TIME # 服务器时间戳LOLWUT # 彩蛋命令 😄xxxxxxxxxxCLUSTER INFO / NODES / SLOTS # 集群状态CLUSTER MEET / FORGET # 节点加入/移除CLUSTER REPLICATE # 配置从节点CLUSTER FAILOVER # 手动故障转移CLUSTER KEYSLOT / GETKEYSINSLOT # 槽计算/查询CLUSTER ADDSLOTS / DELSLOTS # 槽分配管理CLUSTER REPLICAS # 查看副本节点(替代 SLAVES)xxxxxxxxxxPFADD # 添加元素PFCOUNT # 估算基数PFMERGE # 合并多个 HLLxxxxxxxxxxGEOADD # 添加位置(经度,纬度,名称)GEOPOS / GEOHASH # 查询坐标/GeohashGEODIST # 计算两点距离GEOSEARCH / GEOSEARCHSTORE # 位置查询与存储(Redis 6.2+,替代 GEORADIUS)xxxxxxxxxxSETBIT / GETBIT # 设置/获取指定位BITCOUNT # 统计 1 的数量BITPOS # 查找首个 0/1 位置BITOP AND/OR/XOR/NOT # 位运算(支持多 key)BITFIELD # 复杂位域操作(GET/SET/INCRBY)避免危险命令:KEYS *、FLUSHALL 等需严格管控
阻塞命令注意:BLPOP/BRPOP 等需设置合理超时
大键操作:用 UNLINK 代替 DEL,SCAN 代替 KEYS
版本差异:
Redis 6.0+:ACL、RESP3(HELLO)、客户端缓存
Redis 7.0+:Functions、LMPOP、ZMPOP
模块扩展:
JSON:JSON.SET / JSON.GET(RedisJSON)
Search:FT.CREATE / FT.SEARCH(RediSearch)
TimeSeries:TS.ADD / TS.RANGE(RedisTimeSeries)
✅ 推荐行动
将本文档保存为 redis_commands_cheatsheet.md
本地测试:redis-cli --help + COMMAND INFO <cmd>
🌟 小技巧:在
redis-cli中输入命令后加?可查看用法(如SET ?)
愿这份文档成为你高效使用 Redis 的得力助手!🚀