Redis是大型架构核心,下面我详解Redis常用命令@mikechen
一、Key操作命令
1、SET:设置键值
最常用的写入命令。
SET user:1 "mikechen"
查询:
GET user:1
返回:
mikechen
应用场景:
- 用户信息缓存;
- Session缓存;
- Token缓存;
2、GET:获取数据
根据 Key 获取 Value。
GET user:1
返回:
"mikechen"
时间复杂度:
O(1)
Redis 查询速度快的核心原因之一就是 GET 操作复杂度极低。
3、DEL:删除Key
删除一个或多个 Key。
DEL user:1
删除多个:
DEL user:1 user:2 user:3
返回:
(integer) 3
表示成功删除3个Key。
4、EXPIRE:设置过期时间
缓存场景必备命令。
EXPIRE user:1 3600
表示:
1小时后自动删除
查看剩余时间:
TTL user:1
返回:
3599
5、KEYS:查看Key
查看所有符合条件的Key。
KEYS user:*
返回:
user:1
user:2
user:3
⚠️ 生产环境慎用:
KEYS会扫描整个Redis
数据量大时可能导致阻塞。
推荐使用:
SCAN
二、Hash操作命令
Hash 非常适合存储对象。
例如:
{
"id":1,
"name":"Mike",
"age":18
}
6、HSET:设置字段
HSET user:1 name Mike age 18
查看:
HGETALL user:1
返回:
name
Mike
age
18
7、HGET:获取字段
HGET user:1 name
返回:
Mike
适用于:
- 用户信息
- 商品信息
- 配置中心
三、List操作命令
List 本质是双向链表。
适用于:
- 消息队列
- 任务队列
- 最新动态
8、LPUSH:左侧插入
LPUSH news "消息1"
LPUSH news "消息2"
LPUSH news "消息3"
结果:
消息3
消息2
消息1
9、LRANGE:获取列表
查看全部数据:
LRANGE news 0 -1
返回:
消息3
消息2
消息1
四、Set操作命令
Set特点:
无序
元素唯一
自动去重
适用于:
- 用户标签
- 共同好友
- 抽奖系统
10、SADD:添加元素
SADD tags java redis mysql
11、SMEMBERS:获取全部元素
SMEMBERS tags
返回:
java
redis
mysql
五、ZSet操作命令
ZSet = Set Score
特点:
自动排序
支持排名
支持TopN
广泛用于:
- 排行榜
- 热搜榜
- 积分系统
12、ZADD:添加元素
ZADD rank 100 Tom
ZADD rank 95 Jack
ZADD rank 88 Mike
13、ZRANGE:获取排行榜
ZRANGE rank 0 -1 WITHSCORES
返回:
Mike 88
Jack 95
Tom 100
倒序:
ZREVRANGE rank 0 9 WITHSCORES
获取Top10。
六、运维监控命令
线上排查问题最常用。
14、INFO:查看运行状态
查看Redis整体信息。
INFO
重点关注:
connected_clients
used_memory
total_commands_processed
keyspace_hits
keyspace_misses
示例:
INFO memory
查看内存使用情况。
15、MONITOR:实时监控命令
实时查看所有执行命令。
MONITOR
输出:
SET user:1 Mike
GET user:1
DEL user:1
适用场景:
- 问题排查;
- 性能分析;
- 命令追踪;
⚠️ 生产环境慎用:
MONITOR开销较大
仅建议短时间排查使用。
Redis命令分类总结
| 类型 | 核心命令 |
|---|---|
| Key操作 | SET、GET、DEL、EXPIRE、KEYS |
| Hash操作 | HSET、HGET |
| List操作 | LPUSH、LRANGE |
| Set操作 | SADD、SMEMBERS |
| ZSet操作 | ZADD、ZRANGE |
| 运维监控 | INFO、MONITOR |