如何使用redis禁用持久性?
我想知道如何在redis中禁用presistence。这里提到了这样做的可能性:。我的意思和这里描述的完全一样。任何帮助都将不胜感激 要禁用Redis中的所有数据持久性,请在如何使用redis禁用持久性?,redis,Redis,我想知道如何在redis中禁用presistence。这里提到了这样做的可能性:。我的意思和这里描述的完全一样。任何帮助都将不胜感激 要禁用Redis中的所有数据持久性,请在Redis.conf文件中执行以下操作: 通过将appendonly配置指令设置为no(这是默认值)来禁用AOF。像这样: appendonly no 通过注释所有save配置指令(默认情况下定义了3个)并显式禁用保存,禁用RDB快照: #save 900 1 #save 300 10 #save 60 10000 sa
Redis.conf
文件中执行以下操作:
appendonly
配置指令设置为no
(这是默认值)来禁用AOF。像这样:
appendonly no
save
配置指令(默认情况下定义了3个)并显式禁用保存,禁用RDB快照:
#save 900 1
#save 300 10
#save 60 10000
save ""
注意:根据您的Redis版本的不同,还有其他一些调整可以阻止Redis访问磁盘执行与复制相关的任务。对于RDB快照,您可以使用
$sed-e'/save/s/^i/etc/redis/redis.conf&&sudo服务redis服务器重启
它将注释redis.conf中的保存行,并重新启动redis服务器。如果您不想玩
redis.conf
(开发/测试环境),可以使用
redis服务器--save”“--appendonly no
(使用redis server3.2.6
和5.0.5
进行测试)由于默认情况下禁用了AOF(appendonly),在不重新启动redis服务的情况下禁用持久性只能做一件事,即禁用保存配置
用于在运行时禁用它并验证“在下面运行”命令
检查当前保存配置
pawan@devops:~$ redis-cli config get save
1) "save"
2) "900 1 300 10 60 10000"
pawan@devops:~$ redis-cli config set save ""
OK
pawan@devops:~$ redis-cli config get save
1) "save"
2) ""
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 get save
1) "save"
2) "900 1 300 10 60 10000"
pawan@devops:~$ redis-cli config set save ""
OK
pawan@devops:~$ redis-cli config get save
1) "save"
2) ""
使用新的save配置修改redis.conf文件,以便在redis服务重新启动时该配置保持永久性
root@ip-172-16-3-114:~# redis-cli config rewrite
OK
确认新的保存配置
pawan@devops:~$ redis-cli config get save
1) "save"
2) "900 1 300 10 60 10000"
pawan@devops:~$ redis-cli config set save ""
OK
pawan@devops:~$ redis-cli config get save
1) "save"
2) ""
现在,如果您将在redis.conf文件中扫描save配置,则不会有任何结果
pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'
pawan@devops:~$
redis>config set auto aof rewrite percentage 0I已通过注释掉三条
save
指令,将我的redis配置为不将数据保存到磁盘。我可以看到,它不再定期快照数据。但是,每当我关闭服务器时,仍然会看到一个.rdb文件写入磁盘。是否仍可以创建它,可能是由于故障切换过程?要真正使其生效,您可以使用此处列出的命令通过cli执行此操作:或者您可以按照此回答中的说明更改redis.conf文件,然后在linux中使用:systemctl restart redis
重新启动服务,位于/etc/redis/redis.conf
中的redis.conf
文件也不要忘记删除默认配置创建的任何现有*.rdb
文件。例如,就我而言,在注释保存
行之后,我还必须在重新启动之前删除/var/lib/redis/dump.rdb
。您确定需要--appendonly no
?它不是默认关闭的吗?可能是真的。但是添加它当然没有什么坏处,只是为了安全起见,我们想要的是禁用所有类型的持久性;)嗯,在WSL(Ubuntu16)@JamesGentes的Windows10上我不工作,有什么错误吗。它适用于我的Fedora 29和Redis 5.0.3,现在已经测试过了。也许您需要在Windows中以不同的方式传递参数?Redis的版本是什么redis server--help
或许也能为5.0.5版提供一些见解。我发现官方网站上没有关于这方面的说明,互联网上也没有关于这方面的大量信息(请看,这有更多的投票权,而且比这更好的文档记录),这让我感到惊讶,如果不是恼人的话。总的来说,考虑到Redis经常被用作非持久性数据库。