From 96af3aa5f4370f479a090e64d52a13cdf6503569 Mon Sep 17 00:00:00 2001 From: "Chayim I. Kirshen" Date: Wed, 3 Nov 2021 15:42:17 +0200 Subject: SMISMEMBER support --- redis/commands/core.py | 8 ++++++++ tests/test_commands.py | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/redis/commands/core.py b/redis/commands/core.py index 6512b45..8dba5a2 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -1768,6 +1768,14 @@ class CoreCommands: """Return all members of the set ``name``""" return self.execute_command('SMEMBERS', name) + def smismember(self, name, values, *args): + """ + Return whether each value in ``values`` is a member of the set ``name`` + as a list of ``bool`` in the order of ``values`` + """ + args = list_or_args(values, args) + return self.execute_command('SMISMEMBER', name, *args) + def smove(self, src, dst, value): """Move ``value`` from set ``src`` to set ``dst`` atomically""" return self.execute_command('SMOVE', src, dst, value) diff --git a/tests/test_commands.py b/tests/test_commands.py index 8aa584b..723612a 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -1577,6 +1577,13 @@ class TestRedisCommands: r.sadd('a', '1', '2', '3') assert r.smembers('a') == {b'1', b'2', b'3'} + @skip_if_server_version_lt('6.2.0') + def test_smismember(self, r): + r.sadd('a', '1', '2', '3') + result_list = [True, False, True, True] + assert r.smismember('a', '1', '4', '2', '3') == result_list + assert r.smismember('a', ['1', '4', '2', '3']) == result_list + def test_smove(self, r): r.sadd('a', 'a1', 'a2') r.sadd('b', 'b1', 'b2') -- cgit v1.2.1