🚀 1、简述
Redis 是一款基于内存、支持多种数据结构的高性能键值数据库,常用于缓存、消息队列、排行榜、会话存储等场景。本文将系统梳理 Redis 的常用命令,配合实践样例帮助你快速掌握。
📦 2、连接 Redis
默认连接命令:
redis-cli
连接指定主机和端口:
redis-cli -h 127.0.0.1 -p 6379
🔑 Key 操作(通用)
操作 | 命令示例 |
---|---|
设置 Key | SET key value |
获取 Key | GET key |
删除 Key | DEL key |
是否存在 | EXISTS key |
设置过期 | EXPIRE key 60 (60 秒) |
查看 TTL | TTL key |
模糊匹配 | KEYS user* |
重命名 Key | RENAME oldKey newKey |
实践:
SET name "Alice"
GET name
EXPIRE name 30
TTL name
DEL name
🧵 3、String 类型
常用命令:
SET count 10
GET count
INCR count # 自增1
DECR count # 自减1
APPEND count "0"
GETRANGE count 0 2
应用场景:
🔹 缓存数据
🔹 数字计数器(如浏览量、点赞)
📚 4、Hash(哈希)类型
类似于 Java 中的 Map,结构化存储对象。
常用命令:
HSET user:1 name "Alice"
HSET user:1 age 25
HGET user:1 name
HGETALL user:1
HDEL user:1 age
HEXISTS user:1 name
实践样例:
HSET user:101 username "bob" email "bob@example.com"
HGETALL user:101
应用场景:
存储用户信息、商品详情等结构化数据
📋 5、List(列表)
类似 LinkedList,支持从头/尾部插入和弹出。
常用命令:
LPUSH messages "Hello"
RPUSH messages "World"
LPOP messages
RPOP messages
LRANGE messages 0 -1
应用场景:
🔹 消息队列
🔹 时间线、日志等顺序数据
🔢 6、Set(集合)
无序、唯一性集合,常用于去重、标签等功能。
常用命令:
SADD tags "java"
SADD tags "redis"
SREM tags "java"
SMEMBERS tags
SISMEMBER tags "redis"
SUNION set1 set2
SINTER set1 set2
应用场景:
🔹 标签系统
🔹 活跃用户、好友关系交集等
📊 7、Sorted Set(有序集合)
集合内元素带有权重(score),常用于排行榜、优先队列。
常用命令:
ZADD scores 100 "Alice"
ZADD scores 150 "Bob"
ZRANGE scores 0 -1 WITHSCORES
ZREVRANGE scores 0 1 WITHSCORES
ZREM scores "Alice"
ZSCORE scores "Bob"
应用场景:
🔹 排行榜
🔹 热门文章排序
🔐 8、持久化和发布订阅(略讲)
持久化:
🔹 RDB 快照:SAVE
, BGSAVE
🔹 AOF 日志:修改 redis.conf 配置 appendonly yes
发布订阅:
SUBSCRIBE news
PUBLISH news "Redis 6.0 released!"
🔁 9、事务操作(MULTI / EXEC)
MULTI
SET a 10
INCR a
EXEC
也可以使用 DISCARD
放弃事务。
✅ 10、总结
类型 | 结构 | 应用场景 |
---|---|---|
String | 单值 | 缓存、计数器 |
Hash | 字典 | 用户/商品信息 |
List | 有序队列 | 消息队列 |
Set | 无序集合 | 标签、去重 |
ZSet | 有序集合 | 排行榜、优先级队列 |