首页 > 解决方案 > 如果在 redis.conf 中将 dbfilename 设置为 null,将 dir 设置为 /dev,会发生什么情况

问题描述

基本上,我们不仅要确保 redis 不生成快照,还要确保如果找到快照,它会忽略它。我们已经注释掉了“保存”行,并将 appendonly 设置为 no。但是我们仍然让它以一个被遗忘的陈旧 rdb 文件启动。我们希望绝对确定这不会发生(即使某些随机事件导致 rdb 文件出现)。

我有一个想法,让 redis 写入/读取 /dev/null。将 dir 设置为 /dev,并将文件名设置为 null。

但我对副作用很好奇:1)如果它试图将快照写入/dev/null,会发生什么?2)如果它试图读取 /dev/null 就好像它是一个 rdb 文件,会发生什么?

对于#1,我希望它会全部写出来,然后关闭而不在乎。(假设我们仍然设置了保存值——因为我们没有,它不应该费心去尝试)

对于#2 ...我希望它会读取一个零长度的文件,并优雅地继续前进,就像它根本没有读取任何文件一样。

但它会期待某些关键指纹并抱怨吗?它会在继续之前重试读取文件 N 次(创建启动延迟)吗?它会意识到它没有从文件中获取任何数据,并认为它应该有,然后退出吗?

在我们尝试之前,我们想知道会发生什么:-)

标签: redis

解决方案


推荐阅读