Use SINTERCARD to get the number of members that the given sets have in common, without building the intersection.
<numkeys> states how many keys follow. LIMIT stops counting once that many common members have been found and returns the limit, which turns an expensive full intersection into a cheap "do these sets share at least N members" test. LIMIT 0 means no limit.
Since nothing is transferred beyond the count, this is much lighter than running SINTER and measuring the reply.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<numkeys> | Yes | No | Number of key arguments that follow. |
<key> | Yes | Yes | Redis key targeted by the command. |
LIMIT <limit> | No | No | Stop counting once this many members match; 0 means no limit. |
Important points#
numkeysmust equal the number of key arguments that immediately follow it.
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Integer |
| RESP3 | Integer |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.
Redis CLI
@upstash/redis
upstash_redis
This command is not supported yet in upstash_redis.