summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redis/commands/core.py10
-rw-r--r--tests/test_commands.py10
2 files changed, 18 insertions, 2 deletions
diff --git a/redis/commands/core.py b/redis/commands/core.py
index 83b97d7..1d0be8a 100644
--- a/redis/commands/core.py
+++ b/redis/commands/core.py
@@ -770,12 +770,18 @@ class ManagementCommands(CommandsProtocol):
"""
return self.execute_command("CONFIG GET", pattern, *args, **kwargs)
- def config_set(self, name: KeyT, value: EncodableT, **kwargs) -> ResponseT:
+ def config_set(
+ self,
+ name: KeyT,
+ value: EncodableT,
+ *args: List[Union[KeyT, EncodableT]],
+ **kwargs,
+ ) -> ResponseT:
"""Set config item ``name`` with ``value``
For more information see https://redis.io/commands/config-set
"""
- return self.execute_command("CONFIG SET", name, value, **kwargs)
+ return self.execute_command("CONFIG SET", name, value, *args, **kwargs)
def config_resetstat(self, **kwargs) -> ResponseT:
"""
diff --git a/tests/test_commands.py b/tests/test_commands.py
index 57182fc..aa29e6f 100644
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -692,6 +692,16 @@ class TestRedisCommands:
assert r.config_set("timeout", 0)
assert r.config_get()["timeout"] == "0"
+ @skip_if_server_version_lt("7.0.0")
+ @skip_if_redis_enterprise()
+ def test_config_set_multi_params(self, r: redis.Redis):
+ r.config_set("timeout", 70, "maxmemory", 100)
+ assert r.config_get()["timeout"] == "70"
+ assert r.config_get()["maxmemory"] == "100"
+ assert r.config_set("timeout", 0, "maxmemory", 0)
+ assert r.config_get()["timeout"] == "0"
+ assert r.config_get()["maxmemory"] == "0"
+
@skip_if_server_version_lt("6.0.0")
@skip_if_redis_enterprise()
def test_failover(self, r):