Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions redis/commands/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -761,6 +761,17 @@ def client_no_evict(self, mode: str) -> Union[Awaitable[str], str]:
"""
return self.execute_command("CLIENT NO-EVICT", mode)

def client_no_touch(self, mode: str) -> Union[Awaitable[str], str]:
"""
# Commands sent by the client will alter
# the LRU/LFU of the keys they access.
# When turned on, the current client will not change LFU/LRU stats,
# unless it sends the TOUCH command.

For more information see https://redis.io/commands/client-no-touch
"""
return self.execute_command("CLIENT NO-TOUCH", mode)

def command(self, **kwargs):
"""
Returns dict reply of details about all Redis commands.
Expand Down
7 changes: 7 additions & 0 deletions tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,13 @@ def test_client_no_evict(self, r):
with pytest.raises(TypeError):
r.client_no_evict()

@pytest.mark.onlynoncluster
@skip_if_server_version_lt("7.2.0")
def test_client_no_touch(self, r):
assert r.client_no_touch("ON")
with pytest.raises(TypeError):
r.client_no_touch()

@pytest.mark.onlynoncluster
@skip_if_server_version_lt("3.2.0")
def test_client_reply(self, r, r_timeout):
Expand Down