【问题标题】:Redis using as disk persistance with RDB and AOF fileRedis 使用 RDB 和 AOF 文件作为磁盘持久性
【发布时间】:2019-05-08 00:52:21
【问题描述】:

我们在生产中使用 redis 服务器,数据大小为 6 GB,最初 我们认为 redis 只能用作内存缓存,如果它重新启动,那么我们可以从持久数据存储中重新填充,并且停机时间最短。

现在我们意识到从持久性存储中重新填充数据根本不是一个好主意,它会导致严重的服务停机。

我们希望通过使用 RDB 和 AOF 组合来评估 redis 持久选项。我们尝试在测试环境中每小时拍摄一次 RDB 快照并以一秒的间隔提交 AOF 文件。 AOF 文件仅在测试环境中变得太大。我们尝试分析 AOF 文件内容,发现很多键我们不想持久化到磁盘,我们只需要它们在 redis 内存中。

有什么方法可以在记录到 AOF 文件时停止记录某些类型的键(阻止列表键)

【问题讨论】:

    标签: redis


    【解决方案1】:

    通常,Redis 不提供将某些类型的键从持久性中排除的方法。如果您需要一些密钥持久保存到磁盘而其他密钥不需要,则应该使用两个独立的 Redis 实例 - 每种类型一个,并适当地配置它们的持久性设置。分而治之。

    注意:但是,如果是 Lua 脚本,则可以控制在上下文中保留在 AOF 中的内容 - 请参阅 "Selective replication of commands" section of EVAL's documentation。也就是说,除了一致性风险之外,使用这种方法来满足您对 imo 的需求太麻烦了。

    【讨论】:

    • 感谢您的帮助。我会评估一次。如果你能澄清更多的事情,那就太好了。 1)我是否需要使用副本来启用此选项? 2)它将如何影响在那个时间点访问redis-server的其他客户端? 3) 是会话/客户端明智还是适用于所有其他会话/客户端
    • 假设您的意思是“注意”,1)不,2)像任何命令一样,脚本将阻塞直到它完成,3)这是每个脚本调用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2013-11-21
    相关资源
    最近更新 更多