即使重启并完全断电,Redis如何在我的本地Apache服务器上保留数据?

时间:2017-07-11 16:40:29

标签: memory redis persistence ram

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

2 个答案:

答案 0 :(得分:2)

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

您要检查的配置指令是:

  • appendonly yes
  • 保存

此处有关Redis Persistence的更多信息。

答案 1 :(得分:2)

Redis具有以RDB或AOF格式保存Redis数据的持久性选项(基本上将Redis数据保存到文件/日志中):

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

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

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

此信息来自https://redis.io/topics/persistence,详细介绍了这些选项。

您可以从Antirez博客中了解更多信息:Redis Persistence Demystified