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 开始可用。