根据我的理解,如果我正在运行本地apache开发服务器,Redis会在内存中使用我收集RAM的内存。我尝试关闭计算机电源并断开电源线,但是当我重新启动计算机并再次测试我的测试网站时,本地服务器开发网站上的redis数据仍然存在。当我进行系统重启时,我认为RAM数据完全被擦除了,即使重新启动我的本地开发环境,Redis如何保留数据?谢谢! :)
答案 0 :(得分:2)
Redis仅提供RAM内的数据,但它提供了两种持久性RDB(快照持久性)和AOF(更改日志持久性)模式。如果在Redis服务器上启用了任一持久性模式,那么您的数据将在重新启动之间保持不变。
您要检查的配置指令是:
此处有关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