mirror of
https://github.com/fluencelabs/redis
synced 2025-04-10 19:26:04 +00:00
CONFIG now can change appendfsync policy at run time
This commit is contained in:
parent
a34e0a2574
commit
1b67773229
25
redis.c
25
redis.c
@ -1635,7 +1635,7 @@ static void initServerConfig() {
|
|||||||
server.glueoutputbuf = 1;
|
server.glueoutputbuf = 1;
|
||||||
server.daemonize = 0;
|
server.daemonize = 0;
|
||||||
server.appendonly = 0;
|
server.appendonly = 0;
|
||||||
server.appendfsync = APPENDFSYNC_ALWAYS;
|
server.appendfsync = APPENDFSYNC_EVERYSEC;
|
||||||
server.lastfsync = time(NULL);
|
server.lastfsync = time(NULL);
|
||||||
server.appendfd = -1;
|
server.appendfd = -1;
|
||||||
server.appendseldb = -1; /* Make sure the first time will not match */
|
server.appendseldb = -1; /* Make sure the first time will not match */
|
||||||
@ -9683,6 +9683,16 @@ static void configSetCommand(redisClient *c) {
|
|||||||
server.masterauth = zstrdup(o->ptr);
|
server.masterauth = zstrdup(o->ptr);
|
||||||
} else if (!strcasecmp(c->argv[2]->ptr,"maxmemory")) {
|
} else if (!strcasecmp(c->argv[2]->ptr,"maxmemory")) {
|
||||||
server.maxmemory = strtoll(o->ptr, NULL, 10);
|
server.maxmemory = strtoll(o->ptr, NULL, 10);
|
||||||
|
} else if (!strcasecmp(c->argv[2]->ptr,"appendfsync")) {
|
||||||
|
if (!strcasecmp(o->ptr,"no")) {
|
||||||
|
server.appendfsync = APPENDFSYNC_NO;
|
||||||
|
} else if (!strcasecmp(o->ptr,"everysec")) {
|
||||||
|
server.appendfsync = APPENDFSYNC_EVERYSEC;
|
||||||
|
} else if (!strcasecmp(o->ptr,"always")) {
|
||||||
|
server.appendfsync = APPENDFSYNC_ALWAYS;
|
||||||
|
} else {
|
||||||
|
goto badfmt;
|
||||||
|
}
|
||||||
} else if (!strcasecmp(c->argv[2]->ptr,"save")) {
|
} else if (!strcasecmp(c->argv[2]->ptr,"save")) {
|
||||||
int vlen, j;
|
int vlen, j;
|
||||||
sds *v = sdssplitlen(o->ptr,sdslen(o->ptr)," ",1,&vlen);
|
sds *v = sdssplitlen(o->ptr,sdslen(o->ptr)," ",1,&vlen);
|
||||||
@ -9768,6 +9778,19 @@ static void configGetCommand(redisClient *c) {
|
|||||||
addReplyBulkCString(c,buf);
|
addReplyBulkCString(c,buf);
|
||||||
matches++;
|
matches++;
|
||||||
}
|
}
|
||||||
|
if (stringmatch(pattern,"appendfsync",0)) {
|
||||||
|
char *policy;
|
||||||
|
|
||||||
|
switch(server.appendfsync) {
|
||||||
|
case APPENDFSYNC_NO: policy = "no"; break;
|
||||||
|
case APPENDFSYNC_EVERYSEC: policy = "everysec"; break;
|
||||||
|
case APPENDFSYNC_ALWAYS: policy = "always"; break;
|
||||||
|
default: policy = "unknown"; break; /* too harmless to panic */
|
||||||
|
}
|
||||||
|
addReplyBulkCString(c,"appendfsync");
|
||||||
|
addReplyBulkCString(c,policy);
|
||||||
|
matches++;
|
||||||
|
}
|
||||||
if (stringmatch(pattern,"save",0)) {
|
if (stringmatch(pattern,"save",0)) {
|
||||||
sds buf = sdsempty();
|
sds buf = sdsempty();
|
||||||
int j;
|
int j;
|
||||||
|
@ -113,6 +113,10 @@ dir ./
|
|||||||
# This should stay commented out for backward compatibility and because most
|
# This should stay commented out for backward compatibility and because most
|
||||||
# people do not need auth (e.g. they run their own servers).
|
# people do not need auth (e.g. they run their own servers).
|
||||||
#
|
#
|
||||||
|
# Warning: since Redis is pretty fast an outside user can try up to
|
||||||
|
# 150k passwords per second against a good box. This means that you should
|
||||||
|
# use a very strong password otherwise it will be very easy to break.
|
||||||
|
#
|
||||||
# requirepass foobared
|
# requirepass foobared
|
||||||
|
|
||||||
################################### LIMITS ####################################
|
################################### LIMITS ####################################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user