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

redis 中setex、setnx、set、getset 命令的区别与使用介绍几个常用的redis命令: SET 命令 set key value 设置指定 key 的值为 value。 如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。 127.0.0.1:

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"

代码100分

 

SETEX 命令

setex key seconds value

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

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

代码100分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 存在但不是字符串类型时,返回一个错误。

代码100分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"

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7451.html

(0)
上一篇 2023-03-20
下一篇 2023-03-20

相关推荐

  • 数据库发展史(下)

    数据库发展史(下)本篇文章为大家讲解AI原生数据库和其他类型数据库的发展历程。 AI原生数据库 近年来,随着AI(人工智能)技术的成熟和发展,AI与数据库的结合越来越紧密。为了提高数据库系统的智能化程度,使数据库系统…

    2023-04-12
    163
  • Python 中的 Amount 和 Number:如何正确使用?

    Python 中的 Amount 和 Number:如何正确使用?在 Python 中,我们经常涉及到 Amount(数量) 和 Number(数字) 的概念,它们是很基础也很重要的数据类型。在处理数据时,正确使用 Amount 和 Number,可以有效提高程序的效率、减少代码的复杂性。

    2024-01-16
    111
  • Python tan 4:如何让数学计算更精确?

    Python tan 4:如何让数学计算更精确?作为一门应用广泛的编程语言,python不仅可以完成各种企业级应用的开发,同时也可以用来进行数学计算。然而在进行数学计算时,可能会出现误差偏大、计算速度缓慢等问题。本文将从以下几个方面介绍如何让python进行更精确的数学计算。

    2024-01-27
    111
  • sql执行成功但是没有结果_sql2000怎么执行语句

    sql执行成功但是没有结果_sql2000怎么执行语句原因: pymysql在连接数据库的时候会有一个参数autocommit,表示执行完SQL语句是否自动提交到真正的数据库,默认为False,不自动提交,所以执行SQL语句后提示成功,但实际没有操作数据

    2023-02-20
    148
  • mysql转换大写_数字转大写金额的函数

    mysql转换大写_数字转大写金额的函数MySQL版本:5.7.34-log *通过创建函数的方法,目前可以实现整数金额的转换,网上暂未找到MySQL版本的故自己参照其他数据库版本的改编了一下,*仅供参考!!! 使用方法:select rm

    2023-05-11
    155
  • mysql查询一组数据是否存在数据库,并且返回不存在的数据sql语句[通俗易懂]

    mysql查询一组数据是否存在数据库,并且返回不存在的数据sql语句[通俗易懂]SELECT md5 FROM ( SELECT 'dec22e4d774bf6de7ede1480aa7b6759' as md5 UNION SELECT '11&…

    2022-12-16
    132
  • 利用Pycharm安装Python第三方库的简单方法

    利用Pycharm安装Python第三方库的简单方法Python是一个强大的编程语言,其流行程度不断攀升。Python的这种受欢迎程度主要得益于其开源性质和强大的社区支持。开源意味着任何人都可以使用Python,并且可以在Python社区中找到大量的代码库和第三方工具来帮助他们更快、更有效地开发应用程序。

    2024-09-19
    15
  • mongodb单表百亿_vue拖拽表单生成器

    mongodb单表百亿_vue拖拽表单生成器上一篇笔记仅是记录了一下简单的关联查询,根据笔记中的场景:将某一车辆关联的耗损记录全部放在了一个字段当中。不知道现在中有没有这种场景,我们的应用中没有类似的场景,可能我们更关注的是某车辆的总耗损金额和

    2022-12-17
    138

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注