• redis 中setex、setnx、set、getset 命令的区别与使用


    介绍几个常用的redis命令:

    SET 命令

    set key value

    设置指定 key 的值为 value。

    如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

    127.0.0.1:6379> set testSetKey aaa
    OK
    127.0.0.1:6379> get testSetKey
    "aaa"
    127.0.0.1:6379> set testSetKey bbb  # 会覆写旧值
    OK
    127.0.0.1:6379> get testSetKey
    "bbb"

    SETEX 命令

    setex key seconds value

    设置指定 key 的值为 value,并将 key 的过期时间设为 seconds (以秒为单位)。

    如果 key 已经存在, SETEX 命令将会替换旧的值。

    127.0.0.1:6379> setex testSetexKey 60 aaa   # 设置过期时间为60秒
    OK
    127.0.0.1:6379> get testSetexKey   # 有效期内获取
    "aaa"
    127.0.0.1:6379> get testSetexKey   # 时间过期后再次获取返回 nil
    (nil)
    127.0.0.1:6379> setex testSetexKey 60 aaa
    OK
    127.0.0.1:6379> get testSetexKey
    "aaa"
    127.0.0.1:6379> setex testSetexKey 60 bbb    # 替换旧值
    OK
    127.0.0.1:6379> get testSetexKey
    "bbb"

    SETNX 命令

    setnx key value

    设置指定 key 的值为 value,只有在 key 不存在时设置 key 的值。

    setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。

    设置成功,返回 1 。 设置失败,返回 0 。

    127.0.0.1:6379> setnx testSetnxKey aaa
    (integer) 1
    127.0.0.1:6379> get testSetnxKey
    "aaa"
    127.0.0.1:6379> setnx testSetnxKey bbb  # 当key值存在时,返回0
    (integer) 0
    127.0.0.1:6379> get testSetnxKey
    "aaa"

    GETSET 命令

    getset key value

    设置指定 key 的值为 value,并返回 key 的旧值(old value)。

    返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。

    当 key 存在但不是字符串类型时,返回一个错误。

    127.0.0.1:6379> getset testGetsetKey aaa  # 没有旧值时,返回 nil
    (nil)
    127.0.0.1:6379> get testGetsetKey
    "aaa"
    127.0.0.1:6379> getset testGetsetKey bbb  # 返回旧值
    "aaa"
    127.0.0.1:6379> get testGetsetKey
    "bbb"
  • 相关阅读:
    Element.scrollIntoView()
    dot.js
    微信小程序页面跳转导航wx.navigateTo和wx.redirectTo
    小程序swiper 滑块视图容器
    小程序表单提交
    自适应宽度圆角导航如何实现
    PC端和移动端一些奇葩兼容性问题
    如何实现两行内容增多和一行内容增多,多余的内容显示省略号
    表单提交判断,数据只能提交一次判断
    改变CSS世界纵横规则的writing-mode属性
  • 原文地址:https://www.cnblogs.com/woods1815/p/13287724.html
Copyright © 2020-2023  润新知