Redis在CentOS上的持久化存储方案
导读:Redis在CentOS上的持久化存储方案 一 机制与选型 RDB(Redis Database):在指定时间间隔对内存数据做时间点快照,文件紧凑、恢复快,但存在最后一次快照后的数据丢失风险。触发方式包括手动的 SAVE(阻塞)/BGSA...
Redis在CentOS上的持久化存储方案
一 机制与选型
- RDB(Redis Database):在指定时间间隔对内存数据做时间点快照,文件紧凑、恢复快,但存在最后一次快照后的数据丢失风险。触发方式包括手动的 SAVE(阻塞)/BGSAVE(后台 fork 子进程) 与配置文件中的自动策略。RDB 适合备份与快速恢复场景。
- AOF(Append Only File):记录每一条写命令,重启时重放命令恢复,数据安全性更高;文件会增长,需要AOF 重写瘦身。同步策略常用 appendfsync everysec(每秒落盘,性能与持久化的折中)。
- 混合持久化(4.0+):AOF 文件头部写入RDB 快照,后续追加 AOF 命令,兼顾恢复速度与更少数据丢失。
- 如何选择:容忍分钟级丢失选 RDB;强一致与更少丢失选 AOF;通用生产建议同时开启 RDB+AOF或启用混合持久化,重启时优先载入 AOF 恢复数据。
二 安装与目录准备
- 安装 Redis(CentOS 常见方式):
- 安装 EPEL 并安装 Redis:
sudo yum install -y epel-release & & sudo yum install -y redis - 启动与自启:
sudo systemctl start redis & & sudo systemctl enable redis
- 安装 EPEL 并安装 Redis:
- 数据目录与权限(示例采用 /var/lib/redis):
- 创建目录并授权:
sudo mkdir -p /var/lib/redis & & sudo chown redis:redis /var/lib/redis
- 创建目录并授权:
- 配置文件位置:常见为 /etc/redis.conf(部分安装包可能是 /etc/redis/redis.conf),下文以此路径为例。
三 配置步骤
- 启用与调整 RDB(示例为默认策略)
- 编辑配置文件:
sudo vi /etc/redis.conf - 关键参数:
save 900 1、save 300 10、save 60 10000(按“N 秒内有 M 次改动”自动快照)dbfilename dump.rdb(快照文件名)dir /var/lib/redis(快照与 AOF 的统一目录)
- 如需临时禁用 RDB:
save ""
- 编辑配置文件:
- 启用与调整 AOF
- 开启 AOF:
appendonly yes - 关键参数:
appendfilename "appendonly.aof"appendfsync everysec(推荐折中策略)- 自动重写:
auto-aof-rewrite-percentage 100、auto-aof-rewrite-min-size 64mb - 异常截断容忍:
aof-load-truncated yes(宕机导致 AOF 尾部不完整时仍尽量加载可用数据)
- 开启 AOF:
- 可选 混合持久化(4.0+)
- 开启:
aof-use-rdb-preamble yes(重启优先载入 AOF,头部为 RDB,加速恢复)
- 开启:
- 使配置生效
- 重启:
sudo systemctl restart redis
说明:上述参数均可在运行时用CONFIG GET/SET查询或临时调整,但建议将最终值写入配置文件以便持久化。
- 重启:
四 验证与运维
- 配置与状态校验
- 查看关键配置:
redis-cli config get save、redis-cli config get appendonly、redis-cli config get dir - 持久化状态:
redis-cli info persistence(关注 rdb_last_save_time、aof_enabled、aof_rewrite_in_progress 等)
- 查看关键配置:
- 功能与恢复测试
- 写入验证:
redis-cli set testkey "Hello, Redis!" - 重启验证:
sudo systemctl restart redis后redis-cli get testkey应返回原值 - 异常场景:模拟崩溃后重启,若启用 AOF,应能从 AOF 恢复最近数据(RDB 快照可能未更新)
- 写入验证:
- 备份与监控
- 定期备份持久化文件:
/var/lib/redis/dump.rdb、/var/lib/redis/appendonly.aof - 监控 AOF 大小与重写:
ls -lh /var/lib/redis/appendonly.aof、redis-cli info persistence
- 定期备份持久化文件:
- 性能与风险提示
- 大数据集下 fork 可能带来毫秒级阻塞;AOF 重写会额外占用 I/O 与内存,建议在业务低峰配置重写阈值与监控告警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Redis在CentOS上的持久化存储方案
本文地址: https://pptw.com/jishu/763077.html
