Redis 命令速查表
Redis 是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息代理。本速查表汇总了最常用的 Redis 命令,按数据类型和功能分类,适合快速查阅。
更新: 2026-07-17·35 条命令
概述
Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,常用作数据库、缓存和消息代理。本速查表按数据类型分类整理了最常用的 Redis 命令。
快速开始
``bash
redis-cli ping # 测试连接
redis-cli # 进入交互模式
``
详细用法请参阅下方命令表格。
基础操作(11)
| 命令 | 难度 | ||
|---|---|---|---|
SET key value [NX|XX] [EX seconds] [PX milliseconds]设置指定键的值,支持 NX(不存在时设置)、XX(存在时设置)、EX(秒级过期)、PX(毫秒级过期) | 基础 | SET user:1001 "alice" EX 3600 NX | |
GET key获取指定键的值 | 基础 | GET user:1001 | |
DEL key [key ...]删除一个或多个键 | 基础 | DEL user:1001 session:abc | |
EXISTS key [key ...]检查一个或多个键是否存在,返回存在的键数量 | 基础 | EXISTS user:1001 session:abc | |
TYPE key返回键所存储值的类型 | 基础 | TYPE user:1001 | |
EXPIRE key seconds设置键的过期时间(秒) | 基础 | EXPIRE cache:page 300 | |
TTL key返回键的剩余生存时间(秒)。-1 表示永不过期,-2 表示键不存在 | 基础 | TTL cache:page | |
RENAME key newkey重命名键,如果 newkey 已存在则会覆盖 | 中级 | RENAME user:1001 user:1001-backup | |
KEYS pattern查找所有匹配给定模式 pattern 的键。警告:在生产环境大数据集上会阻塞 Redis | 高级 | KEYS user:* | |
INFO [section]获取 Redis 服务器的信息和统计数据,可按 section 过滤(如 server、memory、stats) | 中级 | INFO memory | |
FLUSHALL [ASYNC]删除所有数据库中的所有键。生产环境中极度危险,建议先备份。支持 ASYNC 异步模式 | 高级 | FLUSHALL ASYNC |
字符串(4)
| 命令 | 难度 | ||
|---|---|---|---|
MSET key value [key value ...]同时设置多个键值对(原子操作) | 中级 | MSET user:1001 alice user:1002 bob | |
MGET key [key ...]同时获取多个键的值 | 中级 | MGET user:1001 user:1002 | |
INCR key将键存储的数字值加一(原子操作) | 基础 | INCR counter:visits | |
DECR key将键存储的数字值减一(原子操作) | 基础 | DECR counter:stock |
列表(6)
| 命令 | 难度 | ||
|---|---|---|---|
LPUSH key value [value ...]将一个或多个值插入到列表头部(左侧) | 基础 | LPUSH logs:app error-timeout | |
RPUSH key value [value ...]将一个或多个值插入到列表尾部(右侧) | 基础 | RPUSH queue:tasks task123 | |
LPOP key移除并返回列表的第一个元素(左侧) | 基础 | LPOP queue:tasks | |
RPOP key移除并返回列表的最后一个元素(右侧) | 基础 | RPOP queue:tasks | |
LLEN key返回列表的长度 | 基础 | LLEN queue:tasks | |
LRANGE key start stop获取列表指定范围内的元素,包含 start 和 stop。使用负数从末尾开始计数 | 基础 | LRANGE queue:tasks 0 -1 |
集合(4)
| 命令 | 难度 | ||
|---|---|---|---|
SADD key member [member ...]向集合添加一个或多个成员 | 基础 | SADD roles:admin user:1001 user:1002 | |
SMEMBERS key返回集合中的所有成员 | 基础 | SMEMBERS roles:admin | |
SINTER key [key ...]返回多个集合的交集 | 中级 | SINTER roles:admin roles:editor | |
SUNION key [key ...]返回多个集合的并集 | 中级 | SUNION roles:admin roles:editor |
哈希(4)
| 命令 | 难度 | ||
|---|---|---|---|
HSET key field value [field value ...]设置哈希表中指定字段的值。如果字段已存在则覆盖 | 基础 | HSET user:1001 name alice age 30 | |
HGET key field获取哈希表中指定字段的值 | 基础 | HGET user:1001 name | |
HGETALL key获取哈希表中所有字段和值 | 基础 | HGETALL user:1001 | |
HDEL key field [field ...]删除哈希表中的一个或多个字段 | 基础 | HDEL user:1001 age |
有序集合(4)
| 命令 | 难度 | ||
|---|---|---|---|
ZADD key score member [score member ...]向有序集合添加一个或多个成员,或更新已有成员的分数 | 中级 | ZADD leaderboard 100 alice 95 bob | |
ZRANGE key start stop [WITHSCORES]按索引范围返回有序集合中的成员(分数升序) | 中级 | ZRANGE leaderboard 0 9 WITHSCORES | |
ZREVRANGE key start stop [WITHSCORES]按索引范围返回有序集合中的成员(分数降序) | 中级 | ZREVRANGE leaderboard 0 9 WITHSCORES | |
ZRANK key member获取有序集合中指定成员的排名(分数升序,0 为最低) | 中级 | ZRANK leaderboard alice |
Pub/Sub(2)
| 命令 | 难度 | ||
|---|---|---|---|
PUBLISH channel message向指定频道发布一条消息 | 中级 | PUBLISH news:updates maintenance-2am | |
SUBSCRIBE channel [channel ...]订阅一个或多个频道以接收消息。注意:订阅后客户端进入监听模式 | 中级 | SUBSCRIBE news:updates alerts |
常见问题
本速查表数据整理自各工具官方文档。最后更新: 2026-07-17。