MSET:一次为多个字符串键设置值
除了 SET
命令和 GETSET
命令之外,Redis 还提供了 MSET
命令用于对字符串键进行设置。跟 SET
命令和 GETSET
命令只能设置单个字符串键的做法不同,MSET
命令可以一次为多个字符串键设置值:
- MSET key value [key value ...]
作为例子,以下代码展示了如何使用一条 MSET
命令去设置 message
、 number
和 homepage
三个键:
- 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 开始可用。 |