oh, "this condition" in this comment does not refer to `setWhenNotExist` itself. It refers to the fact that we only set keys when *none* of them exist.

Intuitively, for `mset()`, we should set any key that does not exist, regardless of other keys in the same batch. Say you call `mset()` with five keys, if two keys exist and the other three do not, `mset()` should just set the three which do not exist yet. However, Redis' `MSETNX` doesn't work in that way. In the above example, if two keys already exist, `MSETNX` will *not* set anything. We could use `SETNX` on each individual item in a batch, but it will be much slower.