summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2017-12-29 12:43:48 +0200
committerOran Agra <oran@redislabs.com>2017-12-29 12:43:48 +0200
commitb509a14c3e8a76aadd6bd48296cafb4616be25e2 (patch)
treeff74c430fce9166ff5ffde78585753e2a64adde6 /src/config.c
parent60a4f12f8b998c44dfff0e88202b01598287390d (diff)
downloadredis-b509a14c3e8a76aadd6bd48296cafb4616be25e2.tar.gz
Add config options for max-bulk-len and max-querybuf-len mainly to support RESTORE of large keys
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 24a590caf..ec0aa7530 100644
--- a/src/config.c
+++ b/src/config.c
@@ -328,6 +328,10 @@ void loadServerConfigFromString(char *config) {
err = "maxmemory-samples must be 1 or greater";
goto loaderr;
}
+ } else if ((!strcasecmp(argv[0],"max-bulk-len")) && argc == 2) {
+ server.max_bulk_len = memtoll(argv[1],NULL);
+ } else if ((!strcasecmp(argv[0],"max-querybuf-len")) && argc == 2) {
+ server.client_max_querybuf_len = memtoll(argv[1],NULL);
} else if (!strcasecmp(argv[0],"lfu-log-factor") && argc == 2) {
server.lfu_log_factor = atoi(argv[1]);
if (server.lfu_log_factor < 0) {
@@ -1132,6 +1136,10 @@ void configSetCommand(client *c) {
}
freeMemoryIfNeeded();
}
+ } config_set_memory_field(
+ "max-bulk-len",server.max_bulk_len) {
+ } config_set_memory_field(
+ "max-querybuf-len",server.client_max_querybuf_len) {
} config_set_memory_field("repl-backlog-size",ll) {
resizeReplicationBacklog(ll);
} config_set_memory_field("auto-aof-rewrite-min-size",ll) {
@@ -1220,6 +1228,8 @@ void configGetCommand(client *c) {
/* Numerical values */
config_get_numerical_field("maxmemory",server.maxmemory);
+ config_get_numerical_field("max-bulk-len",server.max_bulk_len);
+ config_get_numerical_field("max-querybuf-len",server.client_max_querybuf_len);
config_get_numerical_field("maxmemory-samples",server.maxmemory_samples);
config_get_numerical_field("lfu-log-factor",server.lfu_log_factor);
config_get_numerical_field("lfu-decay-time",server.lfu_decay_time);
@@ -1992,6 +2002,8 @@ int rewriteConfig(char *path) {
rewriteConfigStringOption(state,"requirepass",server.requirepass,NULL);
rewriteConfigNumericalOption(state,"maxclients",server.maxclients,CONFIG_DEFAULT_MAX_CLIENTS);
rewriteConfigBytesOption(state,"maxmemory",server.maxmemory,CONFIG_DEFAULT_MAXMEMORY);
+ rewriteConfigBytesOption(state,"max-bulk-len",server.max_bulk_len,CONFIG_DEFAULT_MAX_BULK_LEN);
+ rewriteConfigBytesOption(state,"max-querybuf-len",server.client_max_querybuf_len,PROTO_MAX_QUERYBUF_LEN);
rewriteConfigEnumOption(state,"maxmemory-policy",server.maxmemory_policy,maxmemory_policy_enum,CONFIG_DEFAULT_MAXMEMORY_POLICY);
rewriteConfigNumericalOption(state,"maxmemory-samples",server.maxmemory_samples,CONFIG_DEFAULT_MAXMEMORY_SAMPLES);
rewriteConfigNumericalOption(state,"lfu-log-factor",server.lfu_log_factor,CONFIG_DEFAULT_LFU_LOG_FACTOR);