Redis如何在我的本地Apache服务器上保留数据,即使重新启动并完成关机后也是如此?

问题描述:

从我的理解来看,如果我正在运行本地apache开发服务器,Redis会在内存中使用它来收集我的RAM。我尝试关闭计算机的电源并断开电源线,但当我重新启动计算机并再次测试我的测试网站时,本地服务器开发网站上的redis数据仍然存在。我在做系统重启时认为RAM数据被完全擦除,Redis如何在我的本地开发环境重新启动后仍然保留数据?谢谢! :)Redis如何在我的本地Apache服务器上保留数据,即使重新启动并完成关机后也是如此?

Redis仅从RAM提供数据,但它提供持久性RDB(快照持久性)和AOF(更新日志持久性)两种模式。如果您的Redis服务器上启用了任一种持久性模式,那么您的数据将在重新启动之间持续存在。

要检查的配置指令是:

  • appendonly是
  • 保存

更多信息Redis Persistence这里。

+0

哎,我读你联系,并想知道Redis的持久性的文章,如果AOF是“追加唯一文件”,那么什么是RDB?我GOOGLE了它,它说这是一个用于Redis和N64游戏的文件类型,这让我感到困惑。 :) –

+2

RDB代表Redis数据库文件。这是您的规则触发保存操作时Redis实例状态的快照。 –

Redis的具有在任一RDB或AOF格式(基本上保存Redis的数据到文件/日志)保存Redis的数据存留选项:

  • 的RDB持久性执行点的时间点快照您的数据集在指定的时间间隔。

  • AOF持久性记录服务器接收到的每个写入操作,这些操作将在服务器启动时再次播放,重建原始数据集。使用与Redis协议本身相同的格式以附加方式记录命令。 Redis可以在背景变得太大时重写日志。

  • 如果您愿意,只要服务器正在运行,只要您希望数据存在,就可以根本不使用持久性。
  • 可以在同一个实例中组合AOF和RDB。请注意,在这种情况下,当Redis重新启动时,将使用AOF文件重建原始数据集,因为它保证是最完整的。

这个信息是从https://redis.io/topics/persistence,其中进入有关这些选项的详细报价。

你可以阅读从Antirez博客更多:Redis Persistence Demystified

+0

RDB的首字母缩写代表什么?我认为AOF是仅追加文件。 –

+1

@SimonSuh大多数人似乎将RDB称为“快照”,或称为Redis数据库[文件]。它也是您的快照的文件扩展名。 – Toomaja