当前位置: 代码迷 >> 综合 >> redis命令之string类型mset命令用法详情
  详细解决方案

redis命令之string类型mset命令用法详情

热度:15   发布时间:2024-02-11 18:44:47.0

Stirng字符串

MSET命令

命令:mset key value [key value] [key value...],同时对一个或多个键值对进行赋(或覆)值。成功返回OK

特别注意:mset操作是原子性操作,所有的键值对都会被执行,不会出现有的键值对没成功。所以如果不希望对已有过key value进行overwrite操作的话,可以考虑用msetnx操作,这个命令只会在所有命令中出现的key不存在的情况下才会执行,否则就不会执行。

127.0.0.1:6381> flushall
OK
127.0.0.1:6381> mset name zhangsan age 18
OK
127.0.0.1:6381> mget name age
1) "zhangsan"
2) "18"
127.0.0.1:6381> mset name lisi age 20
OK
127.0.0.1:6381> mget name age
1) "lisi"
2) "20"
127.0.0.1:6381> mset name zhangsan age 18 class 1
OK
127.0.0.1:6381> mget name age class
1) "zhangsan"
2) "18"
3) "1"
127.0.0.1:6381> mset class 2
OK
127.0.0.1:6381> mget name age class
1) "zhangsan"
2) "18"
3) "2"
127.0.0.1:6381> msetnx name lisi
(integer) 0
127.0.0.1:6381> mget name age class
1) "zhangsan"
2) "18"
3) "2"
127.0.0.1:6381> msetnx name lisi age 20 class 10 sex man #因为name age class键已经存在
(integer) 0  #所以返回失败,并且不会被覆写
127.0.0.1:6381> keys *
1) "class"
2) "name"
3) "age"
127.0.0.1:6381> flushall
OK
127.0.0.1:6381> msetnx name zhangsan age 11
(integer) 1
127.0.0.1:6381> keys *
1) "name"
2) "age"

 

  相关解决方案