Redis SMISMEMBER Command Explained

In Redis, we can use the SMISMEMBER command to find out whether one or more members are in a given set. It’s similar to the SISMEMBER command, except that it allows us to check more than one member at a time.

The SMISMEMBER command was introduced in Redis 6.2.0.

Syntax

The syntax goes like this:

SMISMEMBER key member [member ...]

Example

Suppose we create the following set:

SADD animals Cat Dog Mouse Horse Zebra

We can use the SMISMEMBER command to find out whether our set contains one or more specified values:

SMISMEMBER animals Dog Zebra Cow

Result:

1) (integer) 1
2) (integer) 1
3) (integer) 0

The command returns an array reply which represents the membership of the given elements, in the same order as they are requested. When the set contains the member, SMISMEMBER returns 1, otherwise it returns 0. We can see in the above example that the set contains the first two values but not the last one.

When we change the case of an argument, we can get a different result:

SMISMEMBER animals dog Zebra Cow

Result:

1) (integer) 0
2) (integer) 1
3) (integer) 0

Non-Existent Key

Here’s what happens when I pass a key that doesn’t exist:

SMISMEMBER oops Dog Zebra Cow

Result:

1) (integer) 0
2) (integer) 0
3) (integer) 0

Passing the Wrong Number of Arguments

Passing the wrong number of arguments results in an error:

SMISMEMBER animals

Result:

(error) ERR wrong number of arguments for 'smismember' command