Redis 重启是否清除数据取决于持久化配置,以下是详细分析:
RDB/AOF),所有数据仅存储在内存中。bash
redis-cli config get save
redis-cli config get appendonly
若输出为空或为 save "" 和 appendonly no,则无持久化。dump.rdb)。SHUTDOWN 命令):Redis 会立即触发 RDB 保存,重启后恢复数据。save 配置间隔)。ini
save 900 1 # 15分钟内至少1个key变更则保存
save 300 10 # 5分钟内至少10个key变更则保存
dbfilename dump.rdbappendonly.aof)。appendfsync everysec 平衡性能与安全)。ini
appendonly yes
appendfsync everysec # 每秒同步,最多丢1秒数据ini
aof-use-rdb-preamble yesbash
cp /var/lib/redis/dump.rdb /backup/dir 指定目录并重启 Redis。| 持久化方式 | 数据丢失风险 | 恢复速度 | 配置示例 |
|---|---|---|---|
| 无 | 100% | - | save "" |
| RDB | 最后一次快照后数据 | 快 | save 900 1 |
| AOF | 最多1秒(默认) | 慢 | appendonly yes |
| RDB+AOF | 最多1秒 | 中等 | aof-use-rdb-preamble yes |
建议:生产环境至少启用 RDB + AOF,并定期验证备份文件有效性。