If you get an error that reads “WRONGTYPE Operation against a key holding the wrong kind of value” when using the ZREM
command in Redis, it’s because you’re passing a key with the wrong data type.
To fix this issue, make sure that you pass a sorted set to the ZREM
command.
Example of Error
Here’s an example of code that causes the error:
ZREM animals "Meow" "Scratch"
Result:
(error) WRONGTYPE Operation against a key holding the wrong kind of value
In my case, the animals
key holds a set (not a sorted set), which is why I got the error.
We can use the TYPE
command to check a key’s type:
TYPE animals
Result:
set
As suspected, the key holds a set, which is the wrong data type for the ZREM
command.
Solution
The solution is to make sure the key we pass to the ZREM
command holds a sorted set.
Let’s replace the animals
key with another key that holds a sorted set:
ZREM cats "Meow" "Scratch"
Result:
(integer) 2
This time the two members were removed as specified without error. That’s because the cats
key holds a sorted set.
Let’s check:
TYPE cats
Result:
zset
As expected, it’s a sorted set.