如何用redis禁用持久性?

时间:2015-02-28 18:40:06

标签: redis

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

4 个答案:

答案 0 :(得分:85)

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

  1. 通过将appendonly配置指令设置为no来禁用AOF(这是默认值)
  2. 通过禁用(注释掉)所有save配置指令(默认定义3个)来禁用RDB快照。
  3. 这些配置指令存储在redis.conf文件中。如果在文件中更改它们,请确保重新启动Redis以应用它们。或者,您可以使用CONFIG SET命令在运行时应用这些更改(只需确保执行CONFIG REWRITE以保留更改)。

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

答案 1 :(得分:53)

如果您想避免使用layout()(开发/测试环境),可以通过命令行使用

进行操作

redis.conf

(使用redis服务器redis-server --save "" --appendonly no测试)

答案 2 :(得分:9)

由于AOF(appendonly)默认情况下处于禁用状态,因此只有一件事情要做,即在没有 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:~$

答案 3 :(得分:8)

对于RDB快照,您可以使用

禁用它

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

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