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.rdb
appendonly.aof
)。appendfsync everysec
平衡性能与安全)。ini
appendonly yes
appendfsync everysec # 每秒同步,最多丢1秒数据
ini
aof-use-rdb-preamble yes
bash
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
,并定期验证备份文件有效性。