【问题标题】:How to configure Redis to persist data after reboot on Linux?如何在 Linux 上配置 Redis 以在重启后保留数据?
【发布时间】:2017-10-13 14:38:17
【问题描述】:

我在 Ubuntu 16.04 上安装了 Redis。我找不到 Redis 目录和 redis.conf 文件(尝试使用:sudo find redis.conf)。

我的应用程序依赖于从第三方 API 提取的一些数据。我将(处理过的)数据存储在 Redis 中。我的问题是,重启后我丢失了数据。我想我需要在配置文件中指定数据应该在重新启动时保留,但我找不到配置文件。我需要创建配置文件吗?有没有一些模板可以使用?我的目标只是让数据在重启后保持不变。

谢谢!

【问题讨论】:

    标签: redis redis-server redisclient


    【解决方案1】:

    使用dpkg -L redis-server | grep redis.conf 查找配置文件路径。据我所知,它应该位于/etc/redis/redis.conf。

    Redis 有 2 种持久化方法:Snapshotting 和 Append-only file:

    • Snapshotting 将通过在配置文件中添加(或取消注释)save X Y 来启用。这意味着如果至少 Y 键发生更改,Redis 将每隔 X 秒自动将数据集转储到磁盘。配置文件中可能有多个save 选项。

    • Append-only file 将通过在配置文件中添加(或取消注释)appendonly yes 来启用

    【讨论】:

    • 我没有做任何这些更改,但是即使在 redis-server 重新启动后我的密钥仍然存在,为什么? @seyed
    • @AATHITHRAJENDRAN 'redis.conf' 中默认启用了三个'save' 命令,所以这是正常行为。
    【解决方案2】:

    你应该打开 rdb 或 aof。

    见https://redis.io/topics/persistence

    【讨论】:

      【解决方案3】:

      将此添加到配置文件中。

      只追加是

      这将在您存储新数据时附加数据。这样可以实现持久性。

      【讨论】:

      • 我需要创建配置文件吗?我在我的文件系统中找不到名为 redis.conf 的文件。
      • 配置文件默认存在。只需编辑它。配置文件路径:redis-server /etc/redis.conf
      • 这将启用 aof 持久性,这可能是也可能不是您想要的模式。根据您的持久性和性能需求,您可能希望使用 RDB 持久性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多