每当我执行任何修改redis中的数据的命令时,我都会得到以下错误
Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
Commands that may modify the data set are disabled.
Please check Redis logs for details about the error.
我在mac上使用brew安装了redis。如何获取redis-server记录信息的日志文件的位置。我试着找过redis conf。文件,但也找不到它。
1 redis conf文件2 redis日志文件的默认位置是什么。
如何摆脱上述错误,并能够执行修改redis中的数据的命令。
发布于 2013-12-29 02:36:59
使用brew安装时,日志文件设置为stdout。您需要编辑/usr/local/etc/redis.conf
并将日志文件更改为其他文件。我将我的设置为:
logfile /var/log/redis-server.log
您还需要确保运行redis的用户拥有对日志文件的写权限,否则redis将无法完全启动。然后重启redis:
brew services restart redis
重新启动后,错误会在日志中显示一段时间,因为它发生在redis的定时刷新失败之后。您应该会看到类似这样的内容:
[7051] 29 Dec 02:37:47.164 # Background saving error
[7051] 29 Dec 02:37:53.009 * 10 changes in 300 seconds. Saving...
[7051] 29 Dec 02:37:53.010 * Background saving started by pid 7274
[7274] 29 Dec 02:37:53.010 # Failed opening .rdb for saving: Permission denied
安装brew后,它会尝试保存到/usr/local/var/db/redis/
,由于redis可能是以当前用户而不是根用户身份运行的,因此无法对其进行写入。一旦redis拥有写入目录的权限,您的日志文件将显示:
[7051] 29 Dec 03:08:59.098 * 1 changes in 900 seconds. Saving...
[7051] 29 Dec 03:08:59.098 * Background saving started by pid 8833
[8833] 29 Dec 03:08:59.099 * DB saved on disk
[7051] 29 Dec 03:08:59.200 * Background saving terminated with success
并且stop-writes-on-bgsave-error
错误将不再被引发。
https://stackoverflow.com/questions/19873048
复制相似问题