diff options
author | Chayim I. Kirshen <c@kirshen.com> | 2021-11-03 15:42:17 +0200 |
---|---|---|
committer | Chayim I. Kirshen <c@kirshen.com> | 2021-11-03 15:42:17 +0200 |
commit | 96af3aa5f4370f479a090e64d52a13cdf6503569 (patch) | |
tree | 076e117f6b1eb594fa3114a1bfcf1519ceb8f082 | |
parent | 75c5d5974ed3f6a5069f601f4c0d42ad3ae48c76 (diff) | |
download | redis-py-ck-smismember.tar.gz |
SMISMEMBER supportck-smismember
-rw-r--r-- | redis/commands/core.py | 8 | ||||
-rw-r--r-- | tests/test_commands.py | 7 |
2 files changed, 15 insertions, 0 deletions
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') |