sintercard.3valkey - Man Page

Returns the number of members of the intersect of multiple sets.

Synopsis

SINTERCARD numkeys key [key...] [LIMIT limit]

Description

This command is similar to SINTER, but instead of returning the result set, it returns just the cardinality of the result. Returns the cardinality of the set which would result from the intersection of all the given sets.

Keys that do not exist are considered to be empty sets. With one of the keys being an empty set, the resulting set is also empty (since set intersection with an empty set always results in an empty set).

By default, the command calculates the cardinality of the intersection of all given sets. When provided with the optional LIMIT argument (which defaults to 0 and means unlimited), if the intersection cardinality reaches limit partway through the computation, the algorithm will exit and yield limit as the cardinality. Such implementation ensures a significant speedup for queries where the limit is lower than the actual intersection cardinality.

Reply

Resp2

valkey-protocol(7) Integer reply: the number of elements in the resulting intersection.

Resp3

valkey-protocol(7) Integer reply: the number of the elements in the resulting intersection.

Complexity

O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.

Acl Categories

@read @set @slow

History

Examples

127.0.0.1:6379> SADD key1 "a"
(integer) 1
127.0.0.1:6379> SADD key1 "b"
(integer) 1
127.0.0.1:6379> SADD key1 "c"
(integer) 1
127.0.0.1:6379> SADD key1 "d"
(integer) 1
127.0.0.1:6379> SADD key2 "c"
(integer) 1
127.0.0.1:6379> SADD key2 "d"
(integer) 1
127.0.0.1:6379> SADD key2 "e"
(integer) 1
127.0.0.1:6379> SINTER key1 key2
1) "c"
2) "d"
127.0.0.1:6379> SINTERCARD 2 key1 key2
(integer) 2
127.0.0.1:6379> SINTERCARD 2 key1 key2 LIMIT 1
(integer) 1

See Also

sadd(3valkey), scard(3valkey), sdiff(3valkey), sdiffstore(3valkey), sinter(3valkey), sinterstore(3valkey), sismember(3valkey), smembers(3valkey), smismember(3valkey), smove(3valkey), spop(3valkey), srandmember(3valkey), srem(3valkey), sscan(3valkey), sunion(3valkey), sunionstore(3valkey)

Info

2024-09-23 8.0.0 Valkey Command Manual