文章目录
- [第 2 课:Redis 常用命令(真正会用版)](#第 2 课:Redis 常用命令(真正会用版))
-
- [一、最基础:String(90% 场景)](#一、最基础:String(90% 场景))
-
- [1️⃣ 存值 / 取值](#1️⃣ 存值 / 取值)
- [2️⃣ 判断值在不在(非常常用)](#2️⃣ 判断值在不在(非常常用))
- [3️⃣ 删除](#3️⃣ 删除)
- [二、带过期时间(Redis 核心能力)](#二、带过期时间(Redis 核心能力))
-
- [4️⃣ 设置"自动过期"的值(重点)](#4️⃣ 设置“自动过期”的值(重点))
- [5️⃣ 查看还剩多久过期(排错神器)](#5️⃣ 查看还剩多久过期(排错神器))
- 三、Hash(存"对象",项目里非常常见)
-
- [6️⃣ 存一个用户对象](#6️⃣ 存一个用户对象)
- [7️⃣ 取字段](#7️⃣ 取字段)
- [8️⃣ 取整个对象](#8️⃣ 取整个对象)
- [四、List(队列 / 顺序数据)](#四、List(队列 / 顺序数据))
-
- [9️⃣ 放数据(左进)](#9️⃣ 放数据(左进))
- [🔟 取数据(右出)](#🔟 取数据(右出))
- 五、Set(去重集合)
-
- [11️⃣ 加数据(自动去重)](#11️⃣ 加数据(自动去重))
- [12️⃣ 查看是否存在](#12️⃣ 查看是否存在)
- 六、你现在就能解决的真实问题
-
- [✅ 场景 1:判断 Redis 连通性](#✅ 场景 1:判断 Redis 连通性)
- [✅ 场景 2:排查"缓存有没有写进去"](#✅ 场景 2:排查“缓存有没有写进去”)
- [✅ 场景 3:验证码为什么失效了?](#✅ 场景 3:验证码为什么失效了?)
- 七、你现在应该"形成的直觉"
- [八、这一课你只需要记住 8 条命令](#八、这一课你只需要记住 8 条命令)
第 2 课:Redis 常用命令 + 能解决实际问题
这是最关键的一步,学完你就能:
- 看懂项目里的 Redis 代码
- 自己用 Redis 做缓存 / 验证码
- 排查"Redis 有值没值、过期没过期"
👉 不学原理、不学集群,先把"会用"练熟
第 2 课:Redis 常用命令(真正会用版)
所有命令你都可以 直接在
redis-cli里敲
一、最基础:String(90% 场景)
1️⃣ 存值 / 取值
bash
set name zhangsan
get name
2️⃣ 判断值在不在(非常常用)
bash
exists name
- 返回
1:存在 - 返回
0:不存在
👉 排查缓存是否命中,第一步就用它
3️⃣ 删除
bash
del name
二、带过期时间(Redis 核心能力)
4️⃣ 设置"自动过期"的值(重点)
bash
set code 123456 ex 60
含义:
- 存验证码
123456 - 60 秒后自动删除
5️⃣ 查看还剩多久过期(排错神器)
bash
ttl code
返回值说明:
| 返回 | 含义 |
|---|---|
| >0 | 剩余秒数 |
| -1 | 永不过期 |
| -2 | 已不存在 |
三、Hash(存"对象",项目里非常常见)
6️⃣ 存一个用户对象
bash
hset user:1 name zhangsan age 18
7️⃣ 取字段
bash
hget user:1 name
8️⃣ 取整个对象
bash
hgetall user:1
👉 Spring / Java 项目里用得很多
四、List(队列 / 顺序数据)
9️⃣ 放数据(左进)
bash
lpush queue order1
lpush queue order2
🔟 取数据(右出)
bash
rpop queue
👉 非常像一个"队列"
五、Set(去重集合)
11️⃣ 加数据(自动去重)
bash
sadd ip:blacklist 1.1.1.1
sadd ip:blacklist 1.1.1.1
12️⃣ 查看是否存在
bash
sismember ip:blacklist 1.1.1.1
六、你现在就能解决的真实问题
✅ 场景 1:判断 Redis 连通性
bash
ping
✅ 场景 2:排查"缓存有没有写进去"
bash
exists key
ttl key
get key
✅ 场景 3:验证码为什么失效了?
bash
ttl sms:138xxxx
七、你现在应该"形成的直觉"
看到下面这种代码,你应该能读懂意思了:
text
key: user:1001
value: 登录信息
ttl: 3600
👉 "这是个登录状态,1 小时后自动失效"
八、这一课你只需要记住 8 条命令
bash
ping
set / get
exists
del
ttl
hset / hget
lpush / rpop
sadd
👉 够用 80% 场景