美文网首页
string类型批量操作

string类型批量操作

作者: 闲云野鹤_23dd | 来源:发表于2020-12-06 18:20 被阅读0次

    MGET

    MGET key [key …]
    
    

    返回给定的一个或多个字符串a键的值。
    如果给定的字符串键里面, 有某个键不存在, 那么这个键的值为空白

    例子:

    127.0.0.1:6379> mget a hello
    测试工程师
    123
    127.0.0.1:6379> mget a hello b
    测试工程师
    123
    nihao
    127.0.0.1:6379> 
    
    

    MSET

    MSET key value [key value …]
    
    

    同时设置多个键值对。

    如果某个给定键已经存在, 那么 MSET 将使用新值去覆盖旧值, 如果这不是你所希望的效果, 请考虑使用 MSETNX 命令, 这个命令只会在所有给定键都不存在的情况下进行设置。
    MSET 是一个原子性(atomic)操作, 所有给定键都会在同一时间内被设置, 不会出现某些键被设置了但是另一些键没有被设置的情况。

    例子:

    1. 同时对多个键进行设置:
    redis> MSET date "2012.3.30" time "11:00 a.m." weather "sunny"
    OK
    redis> MGET date time weather
    "2012.3.30"
    "11:00 a.m."
    "sunny"
    
    
    1. 覆盖已有的值:
    redis> MSET k1 "hello" k2 "world"
    OK
    redis> MGET k1 k2
    1) "hello"
    2) "world"
    redis> MSET k1 "good" k2 "bye"
    OK
    redis> MGET k1 k2
    "good"
    "bye"
    
    

    MSETNX

    MSETNX key value [key value …]
    
    

    当且仅当所有给定键都不存在时, 为所有给定键设置值。
    即使只有一个给定键已经存在, MSETNX 命令也会拒绝执行对所有键的设置操作。

    MSETNX 是一个原子性(atomic)操作, 所有给定键要么就全部都被设置, 要么就全部都不设置, 不可能出现第三种状态。
    当所有给定键都设置成功时, 命令返回 1 ; 如果因为某个给定键已经存在而导致设置未能成功执行, 那么命令返回 0 。

    例子:
    对不存在的键执行 MSETNX 命令:

    redis> MSETNX rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"
    1
    redis> MGET rmdbs nosql key-value-store
    "MySQL"
    "MongoDB"
    "redis"
    
    

    对某个已经存在的键进行设置:

    redis> MSETNX rmdbs "Sqlite" language "python"  # rmdbs 键已经存在,操作失败
     0
    redis> GET language                         
                                        # 值为空,language 没有设置成功
    redis> GET rmdbs                                # rmdbs 键也没有被修改
    "MySQL"
    

    相关文章

      网友评论

          本文标题:string类型批量操作

          本文链接:https://www.haomeiwen.com/subject/pxxvvktx.html