diff --git a/django_redis/cache.py b/django_redis/cache.py index eec06480..8a633258 100644 --- a/django_redis/cache.py +++ b/django_redis/cache.py @@ -204,6 +204,10 @@ def sdiffstore(self, *args, **kwargs): def sinter(self, *args, **kwargs): return self.client.sinter(*args, **kwargs) + @omit_exception + def sintercard(self, *args, **kwargs): + return self.client.sintercard(*args, **kwargs) + @omit_exception def sinterstore(self, *args, **kwargs): return self.client.sinterstore(*args, **kwargs) @@ -212,6 +216,10 @@ def sinterstore(self, *args, **kwargs): def sismember(self, *args, **kwargs): return self.client.sismember(*args, **kwargs) + @omit_exception + def smismember(self, *args, **kwargs): + return self.client.smismember(*args, **kwargs) + @omit_exception def smembers(self, *args, **kwargs): return self.client.smembers(*args, **kwargs) @@ -228,6 +236,10 @@ def spop(self, *args, **kwargs): def srandmember(self, *args, **kwargs): return self.client.srandmember(*args, **kwargs) + @omit_exception + def sscan(self, *args, **kwargs): + return self.client.sscan(*args, **kwargs) + @omit_exception def srem(self, *args, **kwargs): return self.client.srem(*args, **kwargs) diff --git a/django_redis/client/default.py b/django_redis/client/default.py index 75cd7240..feb7bb92 100644 --- a/django_redis/client/default.py +++ b/django_redis/client/default.py @@ -818,16 +818,20 @@ def sdiff( def sdiffstore( self, dest: Any, + key: Any, *keys, - version: Optional[int] = None, + versionDest: Optional[int] = None, + versionMinuend: Optional[int] = None, + versionSubtrahend: Optional[int] = None, client: Optional[Redis] = None, ) -> int: if client is None: client = self.get_client(write=True) - dest = self.make_key(dest, version=version) - keys = [self.make_key(key, version=version) for key in keys] - return int(client.sdiffstore(dest, *keys)) + dest = self.make_key(dest, version=versionDest) + minuend_key = self.make_key(key, version=versionMinuend) + subtrahend_keys = [self.make_key(key_, version=versionSubtrahend) for key_ in keys] + return int(client.sdiffstore(dest, minuend_key, *subtrahend_keys)) def sinter(