在写入Redis(set foo bar
)的过程中,我收到以下错误:
MISCONF Redis配置为保存RDB快照,但当前无法在磁盘上持久保存。禁用可能修改数据集的命令。有关该错误的详细信息,请查看Redis日志。
基本上,我知道问题是redis不能在磁盘上保存数据,但不知道如何解决这个问题。
下面的问题也有同样的问题,它很久以前就被放弃了,没有答案,很可能也没有试图解决问题。
如果遇到错误,并且无法丢弃正在运行的redis实例上的某些重要数据(rdb
文件或其目录的权限问题不正确,或者磁盘空间不足),则始终可以将rdb
文件重定向到其他地方写入。
使用redis-cli
,可以执行如下操作:
CONFIG SET dir /tmp/some/directory/other/than/var
CONFIG SET dbfilename temp.rdb
在此之后,您可能需要执行bgsave
命令,以确保将数据写入rdb
文件。请确保执行信息持久性
时,bgsave_in_progress
已经是0
并且rdb_last_bgsave_status
是确定
。之后,您现在可以开始在安全的地方备份生成的rdb
文件。
使用redis-cli
,您可以阻止它尝试保存快照:
config set stop-writes-on-bgsave-error no
这是一个快速的解决方法,但是如果您关心使用它的数据,您应该检查以确定bgsave首先失败的原因。