Redis开发命令最全详解(2026最新版)

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

一、Redis基础命令
1. SET:设置缓存数据(最常用)
命令

SET key value

示例

SET user:1001 "mikechen"

结果:

OK

查询:

GET user:1001

返回:

mikechen

常用扩展参数
设置过期时间

SET user:1001 "mikechen" EX 3600

表示:

3600秒后自动删除

等价:

SETEX user:1001 3600 "mikechen"

不存在才创建(分布式锁核心)

SET lock:user 1 NX EX 30

含义:

参数 作用
NX 不存在才创建
EX 过期时间
30 30秒

应用:

秒杀库存扣减
订单防重复提交
分布式任务锁

2. GET:获取缓存数据
命令

GET key

示例:

GET user:1001

返回:

mikechen

业务场景:

用户信息缓存

数据库:
MySQL

缓存:
Redis

请求:
Redis -> MySQL

典型缓存架构:

        请求
          |
          ↓
      Redis缓存
       /    \
     有      无
     |       |
 返回数据   查询MySQL
             |
          写入Redis

二、Key管理命令
3. EXISTS:判断Key是否存在
命令

EXISTS key

示例:

EXISTS user:1001

返回:

1

表示存在。

返回:

0

表示不存在。

应用:

  • 防止重复创建
  • 判断缓存是否命中

4. DEL:删除Key
命令

DEL key

示例:

DEL user:1001

返回:

1

常见场景:
删除缓存
例如:

更新数据库:

修改用户昵称
      |
      ↓
更新MySQL
      |
      ↓
删除Redis缓存

下一次查询重新加载。

5. EXPIRE:设置过期时间
命令

EXPIRE key seconds

示例:

EXPIRE user:1001 3600

表示:

1小时后过期

查看剩余时间:

TTL user:1001

返回:

3500

单位:

秒。

业务:

验证码:

发送验证码
    |
Redis保存
    |
60秒过期

例如:

SET sms:code 123456 EX 60

三、Hash结构命令
Redis Hash类似Java中的:

Map<String,Object>

结构:

user:1001

{
 name:"mikechen",
 age:18,
 city:"杭州"
}

6. HSET:保存对象属性
命令

HSET key field value

示例:

HSET user:1001 name mikechen

继续添加:

HSET user:1001 age 18

查询:

HGET user:1001 name

结果:

mikechen

查询全部:

HGETALL user:1001

结果:

name mikechen
age 18

应用:

用户对象缓存:

User对象

↓

Redis Hash

↓

user:10001

四、计数命令
7. INCR:自增
命令

INCR key

示例:

INCR article:view

第一次:

1

第二次:

2

应用场景:
浏览量统计

文章访问一次

Redis:

article:view=10001

INCR

↓

10002

秒杀库存
库存:

stock=100

扣减:

DECR stock

五、集合命令
8. SADD:添加集合元素
Redis Set:

特点:

无序
不重复

命令:

SADD key value

示例:

SADD user:tags java
SADD user:tags redis
SADD user:tags kafka

查询:

SMEMBERS user:tags

结果:

java
redis
kafka

应用:
用户标签

用户:

Java
Redis
AI
架构

推荐系统
共同兴趣:

用户A标签集合

∩

用户B标签集合

9. SISMEMBER:判断集合是否存在
命令:

SISMEMBER key value

示例:

SISMEMBER user:tags java

返回:

1

应用:

判断:

用户是否点赞
用户是否关注
用户是否收藏

六、List队列命令
10. LPUSH:左侧添加元素
Redis List:

结构:

A -> B -> C

命令:

LPUSH queue task1

结果:

task1

继续:

LPUSH queue task2

结果:

task2 task1

应用:

消息队列:

订单任务

Redis List

生产者
  |
 LPUSH

消费者
  |
 RPOP

七、排序集合ZSet
11. ZADD:添加排行榜数据
Redis ZSet:

特点:

有序
带分数

命令:

ZADD rank score member

示例:

ZADD rank 100 userA
ZADD rank 200 userB

查询:

ZRANGE rank 0 -1 WITHSCORES

结果:

userA 100
userB 200

应用:
排行榜
游戏:

玩家积分

1000
2000
5000

自动排序

场景:

  • 游戏排行榜
  • 热搜排行
  • 商品销量排行

八、事务命令
12. MULTI / EXEC:事务执行
Redis事务:

MULTI
 |
多个命令
 |
EXEC

示例:

MULTI

SET user:name mikechen

SET user:age 18

EXEC

一次提交。

应用:

账户扣款:

余额减少

+

积分增加

保证一起执行。

九、分布式锁命令
13. SET NX EX:实现分布式锁
这是企业开发最重要Redis命令组合。

示例:

SET order_lock 1 NX EX 30

含义:

如果没有锁

↓

创建锁

↓

30秒自动释放

流程:

请求A

SET NX成功

获得锁


请求B

SET NX失败

等待

释放锁:

DEL order_lock

评论交流
    说说你的看法