持久化和内存策略
Redis 主要把数据放在内存里。为了重启后恢复数据,Redis 提供 RDB 和 AOF 两种持久化方式。
持久化不等于绝对不丢数据。不同策略只是丢失窗口和性能开销不同。
一、RDB
RDB 是快照持久化,会在某个时间点把内存数据保存成快照文件。
特点:
适合:
- 定期备份
- 可以接受少量数据丢失的缓存
- 重启后快速恢复一份数据
二、AOF
AOF 是追加日志持久化,会把写命令追加到文件里。
特点:
常见刷盘策略:
三、RDB 和 AOF 选择
实际服务常见做法是 RDB + AOF 结合使用,再配合主从复制和备份。
四、内存限制
Redis 应该配置最大内存:
达到最大内存后按 maxmemory-policy 决定如何处理。
缓存服务常见:
如果不希望 Redis 自动淘汰数据,可以使用:
此时内存满了之后,新的写命令会返回错误。
五、大 key 问题
大 key 指 value 很大,或集合里元素很多的 key。
常见例子:
大 key 的问题:
- 网络传输慢。
- 删除可能阻塞。
- 内存分布不均。
- 备份和迁移成本高。
处理方式:
- 拆分 key。
- 对列表和排行榜做长度限制。
- 设置 TTL。
- 使用
UNLINK异步删除大 key。
六、常用观察命令
含义:

