redis对 RDB 异步持久化(bgsave)失败时的安全保护开关stop-writes-on-bgsave-error
stop-writes-on-bgsave-error 是 Redis 的一个安全保护开关,专门针对 RDB 异步持久化(bgsave)失败 时怎么办。 配置项(默认): - stop-writes-on-bgsave-error yes
复制代码
含义: - yes(默认)
- 如果 Redis 执行 BGSAVE 失败(例如磁盘满、权限问题、I/O 错误),
- Redis 会进入“保护模式”:拒绝后续写命令(SET/DEL/INCR 等都会返回错误),直到一次 BGSAVE 再次成功。
- 目的是防止“认为自己有持久化、实际上 RDB 已经写不下”的情况,避免宕机后数据大量丢失而你不自知。
- no
- 即使 BGSAVE 一直失败,Redis 仍然允许写入,只是写不进 RDB。
- 宕机后会丢失从上次成功快照以来的所有数据。
- 适合只当纯缓存、不在乎持久化的场景。
查看和修改: - # 查看当前值
- redis-cli CONFIG GET stop-writes-on-bgsave-error
- # 临时关闭(当前实例)
- redis-cli CONFIG SET stop-writes-on-bgsave-error no
复制代码 要永久生效还需要在 redis.conf 里修改对应行然后重启。
|