Set the the respective keys to the respective values. MSET will replace old values with new
values, while {@link #msetnx(const(ubyte)[]...) MSETNX} will not perform any operation at all even if
just a single key already exists.
<p>
Because of this semantic MSETNX can be used in order to set different keys representing
different fields of an unique logic object in a way that ensures that either all the fields or
none at all are set.
<p>
Both MSET and MSETNX are atomic operations. This means that for instance if the keys A and B
are modified, another client talking to Redis can either see the changes to both A and B at
once, or no modification at all.
@see #msetnx(const(ubyte)[]...)
@param keysvalues
@return Status code reply Basically +OK as MSET can't fail
Set the the respective keys to the respective values. MSET will replace old values with new values, while {@link #msetnx(const(ubyte)[]...) MSETNX} will not perform any operation at all even if just a single key already exists. <p> Because of this semantic MSETNX can be used in order to set different keys representing different fields of an unique logic object in a way that ensures that either all the fields or none at all are set. <p> Both MSET and MSETNX are atomic operations. This means that for instance if the keys A and B are modified, another client talking to Redis can either see the changes to both A and B at once, or no modification at all. @see #msetnx(const(ubyte)[]...) @param keysvalues @return Status code reply Basically +OK as MSET can't fail