如何用redis禁用持久性?

Cen*_*noc 76 redis

我想知道如何在redis中禁用presistence.这里提到了这样做的可能性:http://redis.io/topics/persistence.我的意思是它与那里描述的完全相同.任何帮助将非常感谢!

Ita*_*ber 91

要在Redis中禁用所有数据持久性,请执行以下操作:

  1. 通过将appendonly配置指令设置为no(它是默认值)来禁用AOF
  2. 通过禁用(注释掉)所有save配置指令来禁用RDB快照(默认情况下定义了3个)

这些配置指令存储在您的redis.conf文件中.如果在文件中更改它们,请确保重新启动Redis以应用它们.或者,您可以使用该CONFIG SET命令在运行时应用这些更改(只需确保您也执行CONFIG REWRITE以保留更改).

注意:根据您的Redis版本,还有其他一些调整可以防止Redis访问磁盘以执行与复制相关的任务.

  • 我已经通过注释掉三个`save`指令将我的Redis配置为不将数据保存到磁盘.我可以看到它不再定期快照数据.但是,每当我关闭服务器时,我仍然会看到写入磁盘的.rdb文件.它是否可以创建,可能是由于故障转移过程? (2认同)
  • 另外,不要忘记删除默认配置创建的任何现有“*.rdb”文件。例如,在我的例子中,在注释了“save”行之后,我还必须在重新启动之前删除“/var/lib/redis/dump.rdb”。 (2认同)

Kos*_*tis 60

如果你想避免使用redis.conf(dev/test环境),你可以通过命令行来实现

redis-server --save "" --appendonly no

(用redis服务器测试3.2.6)

  • 你确定 `--appendonly no` 是必要的吗?不是默认关闭了吗? (2认同)
  • 可能是真的。但是,为了安全起见,将其添加到其中当然也没有什么坏处,我们想要的是禁用所有类型的持久性;) (2认同)

PKS*_*ngh 13

由于默认情况下禁用了AOF(appendonly),因此在没有redis服务重启的情况下禁用持久性只需要做一件事就是禁用保存配置.

用于在运行时禁用它并验证以下命令运行

检查当前保存配置

pawan@devops:~$ redis-cli config get save
1) "save"
2) "900 1 300 10 60 10000"
Run Code Online (Sandbox Code Playgroud)

redis.conf文件中也会出现相同的设置

pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'
save 900 1
save 300 10
save 60 10000
Run Code Online (Sandbox Code Playgroud)

禁用保存配置

pawan@devops:~$ redis-cli config set save ""
OK
Run Code Online (Sandbox Code Playgroud)

使用新的保存配置修改redis.conf文件,以便配置在redis服务重新启动时保持永久性

root@ip-172-16-3-114:~# redis-cli config rewrite
OK
Run Code Online (Sandbox Code Playgroud)

确认新的保存配置

pawan@devops:~$ redis-cli config get save
1) "save"
2) ""
Run Code Online (Sandbox Code Playgroud)

现在,如果您要扫描redis.conf文件以进行保存配置,则不会有任何结果

pawan@devops:~$ grep -w 'save' /etc/redis/redis.conf | grep -v '#'  
pawan@devops:~$
Run Code Online (Sandbox Code Playgroud)


Nar*_*ula 8

对于RDB快照,您可以使用禁用它

$ sed -e '/save/ s/^#*/#/' -i /etc/redis/redis.conf && sudo service redis-server restart

它将在redis.conf中注释保存行并重新启动redis-server