Redis常用命令最全详解(2026最新版)

Redis是大型架构核心,下面我详解Redis常用命令@mikechen

1. SET:设置键值
SET 是 Redis 最基础、最常用的命令,用于设置一个 key 对应的 value。

SET username mikechen

查询:

GET username

结果:

"mikechen"
 最典型的场景就是:
  • 缓存
  • Session
  • Token
  • 分布式锁
  • 验证码

例如分布式锁:

SET lock:order:1001 abc123 NX EX 30

其中:

  • NX:key 不存在时才设置
  • EX 30:30 秒自动过期

2. GET:获取字符串
GET 用于获取指定 key 的 value。

GET username

如果 key 不存在:

(nil)

常见场景

SET user:1001 "mikechen"
GET user:1001

适合用于:

  • 查询缓存
  • 获取 Token
  • 获取 Session
  • 查询简单配置

3. DEL:删除 Key
DEL 用于删除一个或多个 key。

DEL username

也可以一次删除多个:

DEL user:1001 user:1002 user:1003

返回删除成功的 key 数量:

(integer) 3

注意
生产环境中不要随意使用:

KEYS *

4. EXISTS:判断 Key 是否存在

EXISTS username

返回:

(integer) 1

表示存在。

不存在则:

(integer) 0

还可以一次判断多个:

EXISTS user:1001 user:1002 user:1003

5. EXPIRE:设置过期时间
EXPIRE 用于给已经存在的 key 设置过期时间。

SET login:1001 true
EXPIRE login:1001 3600

表示 login:1001 在 3600 秒后自动删除。

查看剩余时间:

TTL login:1001

例如:

(integer) 3598

表示还剩约 3598 秒。
特别适合:

验证码
登录Session
缓存数据
Token
临时数据

例如验证码:

SET sms:13800138000 123456 EX 300

5 分钟后自动失效。

6. HSET:设置 Hash
Redis Hash 可以理解成一个轻量级的对象结构。

例如用户:

HSET user:1001 name mikechen
HSET user:1001 age 35
HSET user:1001 job architect

得到:

user:1001
 ├── name = mikechen
 ├── age = 35
 └── job = architect

也可以一次设置多个字段:

HSET user:1001 name mikechen age 35 job architect
 Hash 非常适合保存:
用户信息
商品信息
订单信息
对象属性

7. INCR:数值自增
INCR 用于对整数值进行 +1 操作。

SET counter 100
INCR counter

结果:

(integer) 101

再次执行:

INCR counter

结果:

(integer) 102

为什么非常重要?
Redis 的 INCR原子操作,因此非常适合高并发计数。

8. LPUSH / RPOP:List队列
Redis List 可以实现简单队列。

生产者:

LPUSH queue order1001

消费者:

RPOP queue

例如:

LPUSH queue order1001
LPUSH queue order1002
LPUSH queue order1003

然后:

RPOP queue

依次获取:

order1001
order1002
order1003

因此可以实现一个简单的:FIFO 队列。

不过在对可靠性、消费确认、消息堆积等要求较高的场景中,通常应该考虑 Redis Streams、Kafka、RocketMQ 等专业消息系统。

9. SADD:Set集合
SADD 用于向 Set 中添加元素。

SADD users mike
SADD users tom
SADD users jack

Set 的特点是:

元素唯一、无序。
Set 非常适合:

  • 标签
  • 共同好友
  • UV统计
  • 去重
  • 黑名单
  • 权限集合

例如统计独立用户:

SADD uv:20260813 user1001
SADD uv:20260813 user1002
SADD uv:20260813 user1001

同一个用户重复访问不会重复计算。

10. ZADD:Sorted Set有序集合
ZADD 是 Redis 中非常重要的命令,用于向 Sorted Set 添加带 Score(分数) 的元素。

ZADD ranking 100 mike
ZADD ranking 95 tom
ZADD ranking 90 jack

查询:

ZRANGE ranking 0 -1 WITHSCORES
 Sorted Set 非常适合:
  • 游戏排行榜
  • 热度排行榜
  • 积分排名
  • 延迟队列
  • 时间排序
  • 权重排序

例如:

ZADD hot:articles 100 article:1001
ZADD hot:articles 95 article:1002
ZADD hot:articles 90 article:1003

然后:

ZREVRANGE hot:articles 0 9

直接获取热门文章 Top 10。

评论交流
    说说你的看法