Skip to content

Commit c198612

Browse files
authored
support set multi parameters (#2143)
1 parent 2d8b901 commit c198612

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

redis/commands/core.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -770,12 +770,18 @@ def config_get(
770770
"""
771771
return self.execute_command("CONFIG GET", pattern, *args, **kwargs)
772772

773-
def config_set(self, name: KeyT, value: EncodableT, **kwargs) -> ResponseT:
773+
def config_set(
774+
self,
775+
name: KeyT,
776+
value: EncodableT,
777+
*args: List[Union[KeyT, EncodableT]],
778+
**kwargs,
779+
) -> ResponseT:
774780
"""Set config item ``name`` with ``value``
775781
776782
For more information see https://redis.io/commands/config-set
777783
"""
778-
return self.execute_command("CONFIG SET", name, value, **kwargs)
784+
return self.execute_command("CONFIG SET", name, value, *args, **kwargs)
779785

780786
def config_resetstat(self, **kwargs) -> ResponseT:
781787
"""

tests/test_commands.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,16 @@ def test_config_set(self, r):
692692
assert r.config_set("timeout", 0)
693693
assert r.config_get()["timeout"] == "0"
694694

695+
@skip_if_server_version_lt("7.0.0")
696+
@skip_if_redis_enterprise()
697+
def test_config_set_multi_params(self, r: redis.Redis):
698+
r.config_set("timeout", 70, "maxmemory", 100)
699+
assert r.config_get()["timeout"] == "70"
700+
assert r.config_get()["maxmemory"] == "100"
701+
assert r.config_set("timeout", 0, "maxmemory", 0)
702+
assert r.config_get()["timeout"] == "0"
703+
assert r.config_get()["maxmemory"] == "0"
704+
695705
@skip_if_server_version_lt("6.0.0")
696706
@skip_if_redis_enterprise()
697707
def test_failover(self, r):

0 commit comments

Comments
 (0)