问题标签 [redis-rdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
redis - 如何备份 Redis 服务器 RDB 和 AOF 文件以进行恢复,以确保将数据丢失降至最低?
目的:
我正在尝试每 X 次备份一次 dump.rdb 和每 Y 次 appendonly.aof,所以如果文件由于某种原因(或者甚至只是 AOF 的 appendonly.aof 文件)损坏,我可以从转储中恢复我的数据。 rdb.backup 快照,然后随着我拥有的最新副本 appendonly.aof.backup 发生任何其他变化。
情况:
我每 5 分钟备份一次 dump.rdb,每 1 秒备份一次 appendonly.aof。
问题:
1)由于子进程正在后台将dump.rdb写入临时文件-子进程创建新图像时发生的关键更改会发生什么?我知道无论后台写入如何,AOF 文件都会继续追加,但是新的 dump.rdb 文件是否也包含关键更改?
2)如果dump.rdb 不包含关键更改,有没有办法找出子进程被分叉的确切点?这样我就可以跟踪 AOF 文件将拥有最新信息的时间点。
谢谢!
caching - 拆分 Redis RDB 文件
目前我在 EC2 机器上使用 redis,有 60G RAM,没有任何从属设备,但随着数据的增长,我将需要更多内存。
我正在考虑迁移到 2 x 60G 机器并在两者之间拆分已经存在的数据。
有什么工具可以分割 RDB 文件吗?我还没有找到专门为此设计的任何东西。
redis - 主服务器的 RDB 和副本的 AOF
我们如何配置 REDIS 以使 master create.manage RDB 文件和副本可以创建/管理 AOF 文件。这可以将负担从主服务器转移到副本以创建/管理文件/数据库。
redis - redis RDB进程是否保存过期的密钥?
阅读redis源码时,发现RDB进程不判断key的过期时间:
即使密钥过期,它也会保存密钥吗?为什么?
非常感谢!
optimization - 如果 Redis 中的数据大小很大,RDB 是否优于 AOF
我正在运行一个大约 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)是否是好习惯?
(对于其他人来说,大数据量可能还不够大,但这是关于启动时间,我很担心,以及它带来的停机时间)