我正在运行一个大约 25GB 的 Redismaxmemory
实例usage
。它像Statefulset
在 Kubernetes 中一样运行。因为 redis-pod 可以安排到任何盒子,并且可以在我通过 RDB 进行 AOF 备份时随时重新启动。
但是,昨天redis-pod重新启动,加载数据大约需要5分钟,这让我想到如果数据很大,RDB备份是否更适合?
- 我知道,AOF 文件的大小可能会过大,并且会自动重写以进行优化。
- 但即使在 100% 优化的状态下,如果数据库必须重新启动,IMO 将花费全部时间来调用所有将数据填充回 25GB 的命令,这将是耗时的。(大约 5 分钟,我监控)
- 我想减少这个时间并考虑回到 RDB 快照,尽管数据会丢失,这是快速启动时间的权衡。将 BGSAVE 安排更短的时间,以避免或减少数据丢失。
我想知道,如果数据量很大并且您想避免较慢的启动时间,是否最好使用 RDB 备份?如果每 5 或 10 分钟运行一次 BGSAVE,如果数据量很大(超过 15GB)是否是好习惯?
(对于其他人来说,大数据量可能还不够大,但这是关于启动时间,我很担心,以及它带来的停机时间)