From 4aac3ff2473b4e70dd503ff5c65891146dac30fc Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 16 Jan 2012 16:50:24 +0100 Subject: [PATCH] It is now posible to flush all the previous saving points in redis.conf by using a save directive with a single empty string argument, like it happens for CONFIG SET save. --- redis.conf | 6 ++++++ src/config.c | 16 ++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/redis.conf b/redis.conf index 29e326d1..1d2b5a5e 100644 --- a/redis.conf +++ b/redis.conf @@ -82,6 +82,12 @@ databases 16 # after 60 sec if at least 10000 keys changed # # Note: you can disable saving at all commenting all the "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" save 900 1 save 300 10 diff --git a/src/config.c b/src/config.c index 4a25489a..3f713e3e 100644 --- a/src/config.c +++ b/src/config.c @@ -65,13 +65,17 @@ void loadServerConfigFromString(char *config) { if (errno || server.unixsocketperm > 0777) { err = "Invalid socket file permissions"; goto loaderr; } - } else if (!strcasecmp(argv[0],"save") && argc == 3) { - int seconds = atoi(argv[1]); - int changes = atoi(argv[2]); - if (seconds < 1 || changes < 0) { - err = "Invalid save parameters"; goto loaderr; + } else if (!strcasecmp(argv[0],"save")) { + if (argc == 3) { + int seconds = atoi(argv[1]); + int changes = atoi(argv[2]); + if (seconds < 1 || changes < 0) { + err = "Invalid save parameters"; goto loaderr; + } + appendServerSaveParams(seconds,changes); + } else if (argc == 2 && !strcasecmp(argv[1],"")) { + resetServerSaveParams(); } - appendServerSaveParams(seconds,changes); } else if (!strcasecmp(argv[0],"dir") && argc == 2) { if (chdir(argv[1]) == -1) { redisLog(REDIS_WARNING,"Can't chdir to '%s': %s", -- 2.47.2