2.4 MSET:一次为多个字符串键设置值

除了SET命令和GETSET命令之外,Redis还提供了MSET命令用于对字符串键进行设置。与SET命令和GETSET命令只能设置单个字符串键不同,MSET命令可以一次为多个字符串键设置值:

        MSET key value [key value ...]

以下代码展示了如何使用一条MSET命令去设置message、number和homepage这3个键:

        redis> MSET message "hello world" number "10086" homepage "redis.io"
        OK

       redis> GET message
        "hello world"

       redis> GET number
        "10086"

       redis> GET homepage
        "redis.io"

与SET命令一样,MSET命令也会在执行设置操作之后返回OK表示设置成功。此外,如果给定的字符串键已经有相关联的值,那么MSET命令也会直接使用新值去覆盖已有的旧值。

比如以下代码就展示了如何使用MSET命令去覆盖上一个MSET命令为message键和number键设置的值:

        redis> MSET message "good morning! " number "12345"
        OK
        redis> GET message
        "good morning! "

       redis> GET number
        "12345"

MSET命令除了可以让用户更为方便地执行多个设置操作之外,还能有效地提高程序的效率:执行多条SET命令需要客户端和服务器之间进行多次网络通信,并因此耗费大量的时间;而使用一条MSET命令去代替多条SET命令只需要一次网络通信,从而有效地减少程序执行多个设置操作时的时间。

其他信息

复杂度:O(N),其中N为用户给定的字符串键数量。

版本要求:MSET命令从Redis 1.0.1开始可用。