Redis 是基于内存的高性能键值数据库,单线程却极快(10 万+ QPS)。它最经典的用途是作为缓存层,挡在数据库前面。
一、安装与连接
dnf install -y redis
systemctl enable --now redis
redis-cli # 进入交互命令行
二、常用数据类型
- String:最基础,
SET key value/GET key - Hash:存对象,
HSET user:1 name 张三 age 25 - List:有序列表,可做简单队列
- Set:无序集合,可做标签、去重
三、经典的缓存读取模式
- 先查 Redis,命中则直接返回
- 未命中则查数据库,结果写回 Redis(设置过期时间)
- 数据库更新时,删除对应缓存(避免脏数据)
# 设置带过期时间的缓存
SET user:1:info '{...}' EX 3600
缓存一定要设置过期时间(TTL),否则数据永远停留在旧值,造成数据不一致。
四、缓存常见问题
- 缓存穿透:查不存在的数据 → 用空值缓存或布隆过滤器
- 缓存雪崩:大量缓存同时过期 → 给 TTL 加随机值
- 缓存击穿:热点 key 失效瞬间 → 加锁或永不过期
五、小结
Redis 是提升应用性能的瑞士军刀。从缓存入手,逐步了解它的更多数据结构和高级特性(发布订阅、持久化、集群)。