这个问题是关于Redis持久性的。
我正在使用redis作为社交网站的“快速后端”。这是一个单一的服务器设置。我一直在将PostgreSQL的职责稳步转移到Redis。目前在etc/redis/redis.conf
中,附加设置设置设置为appendOnly no
。快照设置为保存900 1
,保存300 10
,保存60 10000
。所有这些对于生产和开发都是如此。根据生产日志,保存60 10000
被大量调用。这是否意味着实际上,我每60秒就会得到一次备份?
一些文献建议同时使用AOF和RDB备份。因此,我正在权衡是否打开appendonly并使用appendfsync everysec。对于任何对硬币两面都有经验的人:
1) 使用appendonly on和appendfsync everysec会导致性能下降吗?它会影响CPU吗?写入负载偏高。
2) 一旦我用这些新设置重新启动redis服务器,我仍然会丢失最后60秒的数据,对吗?
3) 重启时间值得担心吗?我的转储。rdb文件较小~90MB。
我试图了解更多关于redis persistence的信息,并实现我的期望。就我个人而言,我很乐意在发生灾难的情况下丢失60年代的数据,因此我是否应该使用AOF也是我在思考的问题。请随意插话。谢谢
这是否意味着实际上,我每60秒就会得到备份?
不会。如果至少有10000个键被更改,Redis会在60秒后进行后台保存。否则,它不会进行后台保存。
使用appendonly on和appendfsync everysec会导致性能下降吗?它会影响CPU吗?写入负载偏高。
它取决于许多因素,例如磁盘性能(SSD与HDD)、写入/读取负载(QPS)、数据模型等。您需要在特定环境中使用自己的数据进行基准测试。
一旦我使用这些新设置重新启动redis服务器,我仍然会丢失最后60秒的数据,对吗?
不。如果同时打开AOF和RDB,当Redis重新启动时,AOF文件将用于重建数据库。由于您将其配置为appendfsync每秒
,因此您只会丢失最后1秒的数据。
重启时间值得担心吗?我的垃圾。rdb文件较小~90MB。
如果您打开AOF,当Redis重新启动时,它会重放AOF文件中的日志以重建数据库。通常AOF文件比RDB文件大,并且可能比从RDB文件恢复慢。你应该担心这个吗?在你的特定环境中用你自己的数据做一个基准测试。
编辑
重要通知
假设您已经将Redis设置为使用RDB保存,并将大量数据写入Redis。过了一段时间,您想打开AOF保存。永远不要修改配置文件来打开AOF并重新启动REDIS,否则你会失去一切。
因为,一旦您在redis.conf中设置appendOnly yes
并重新启动Redis,它将从AOF文件中加载数据,无论该文件是否存在。如果该文件不存在,它会创建一个空文件,并尝试从该空文件中加载数据。所以你会失去一切。
事实上,你不需要重启Redis来开启AOF。相反,您可以使用命令动态启用它:config set appendonly yes。
问题内容: 如何完全禁用RDB和AOF?我不在乎持久性,只希望它存在于内存中。 我已经注释掉了: 但这并没有帮助,我发现Redis仍尝试写入磁盘。我知道Redis希望写入磁盘,因为出现以下错误:“无法打开.rdb进行保存:权限被拒绝” 我不在乎该错误,因为我想完全禁用持久性。 问题答案: 如果要更改正在运行的Redis,请登录Redis,然后 禁用aof : 禁用rdb : 如果要在重新启动Red
如何完全禁用RDB和AOF?我不在乎持久性,只希望它出现在内存中。 我已经注释了: 但这并没有起到任何作用,我看到Redis仍在尝试写入磁盘。我知道Redis想写入磁盘,因为我遇到了这样一个错误:“打开失败。用于保存的rdb:权限被拒绝” 我不在乎错误,因为我想完全禁用持久性。
在redis 4.0中,讨论了一个新的混合RDB AOF,在redis更改日志中输入链接描述: 混合RDB-AOF格式。如果启用,则在重写AOF文件时使用新格式:重写使用更紧凑、更快的格式生成RDB格式,并将AOF流附加到文件中。这允许在使用AOF持久性时更快地重写和重新加载 我想知道如何在redis配置文件中设置此配置?
我正在寻找备份我的Redis数据的最佳方法。 我读到了RDB和AOF。但根据我的想法,最好的方法是以以下方式组合: 定期创建RDB,并仅从该点保存AOF。 这样,当您重新启动时。Redis可以恢复RDB文件(比整个AOF回滚更快),然后在最后几秒钟回滚AOF文件。 AOF文件包含自上次RDB以来的每一次写入。 我的问题是,这在Redis中可用吗?或者这有什么不好的地方吗?
我们有一个使用默认配置运行但启用了AOF的Redis服务器。出于性能原因,我们希望禁用AOF,而只使用RDB。 如果我们使用重新启动Redis实例,所有键都将丢失。谢天谢地,使用再次重新启动会将我们的数据返回给我们。 redis文档展示了如何从RDB迁移到AOF,但是从AOF迁移到RDB的正确方法是什么?
本文向大家介绍Redis持久化RDB和AOF区别详解,包括了Redis持久化RDB和AOF区别详解的使用技巧和注意事项,需要的朋友参考一下 RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久化存储数据,也可以作为一种复制媒介,这