我想知道如何禁用Redis的持久性。这里提到了这样做的可能性:http : //redis.io/topics/persistence。我的意思是和那里描述的完全一样。任何帮助将不胜感激!
我想知道如何禁用Redis的持久性。这里提到了这样做的可能性:http : //redis.io/topics/persistence。我的意思是和那里描述的完全一样。任何帮助将不胜感激!
Answers:
要禁用Redis中的所有数据持久性,请在redis.conf
文件中执行以下操作:
通过将appendonly
配置指令设置为no
(默认值)来禁用AOF 。像这样:
appendonly no
通过注释所有save
配置指令来禁用RDB快照(默认情况下定义了3个)
#save 900 1
#save 300 10
#save 60 10000
更改后,请确保重新启动Redis以应用它们。
或者,您可以使用CONFIG SET
命令在运行时应用这些更改(只需确保您还执行aCONFIG REWRITE
即可保留更改)。
注意:根据您的Redis版本,还有其他一些调整可阻止Redis访问磁盘以执行与复制相关的任务。
save
指令,我已将Redis配置为不将数据保存到磁盘。我可以看到它不再定期对数据进行快照。但是,每当我关闭服务器时,仍会看到.rdb文件写入磁盘。是否仍可能由于故障转移过程而创建它?
systemctl restart redis
redis.conf
文件位于/etc/redis/redis.conf
如果要避免使用redis.conf
(开发/测试环境),可以通过命令行使用
redis-server --save "" --appendonly no
(已通过Redis服务器3.2.6
和进行测试5.0.5
)
--appendonly no
必要吗?是不是默认关闭了?
redis-server --help
也许可以提供一些见识
由于默认情况下禁用AOF(仅附加),因此在不重新启动Redis服务的情况下禁用持久性只有一件事是禁用保存配置。
用于在运行时禁用它并验证以下命令的运行
检查当前保存配置
pawan@devops:~$ redis-cli config get save
1) "save"
2) "900 1 300 10 60 10000"
同样的设置也将出现在redis.conf文件中
pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'
save 900 1
save 300 10
save 60 10000
禁用保存配置
pawan@devops:~$ redis-cli config set save ""
OK
使用新的保存配置修改redis.conf文件,以便该配置在Redis服务重新启动时保持永久
root@ip-172-16-3-114:~# redis-cli config rewrite
OK
确认新的保存配置
pawan@devops:~$ redis-cli config get save
1) "save"
2) ""
现在,如果您将扫描redis.conf文件进行保存配置,将不会有任何结果
pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'
pawan@devops:~$
对于RDB快照,您可以使用禁用它
$ sed -e '/save/ s/^#*/#/' -i /etc/redis/redis.conf && sudo service redis-server restart
它将注释redis.conf中的保存行并重新启动redis-server