iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >redis 中setex、setnx、set、getset 命令的区别与使用
  • 744
分享到

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

redis中setexsetnxsetgetset命令的区别与使用 2017-09-08 10:09:23 744人浏览 才女
摘要

  介绍几个常用的Redis命令: SET 命令 set key value 设置指定 key 的值为 value。 如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。 127.0.0.1:6379> set

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"

 

您可能感兴趣的文档:

--结束END--

本文标题: redis 中setex、setnx、set、getset 命令的区别与使用

本文链接: https://www.lsjlt.com/news/7126.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis中setex命令和set命令有哪些区别
    这篇文章主要介绍了redis中setex命令和set命令有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导语:Redis Setex...
    99+
    2024-04-02
  • redis的setnx命令怎么使用
    在Redis中,SETNX命令用于设置一个键的值,只有在该键不存在的情况下才会设置成功,如果该键已经存在,则不做任何操作。 SETN...
    99+
    2024-03-07
    redis
  • redis setIfAbsent和setnx的区别与使用说明
    redis setIfAbsent和setnx的区别与使用 如果为空就set值,并返回1 如果存在(不为空)不进行操作,并返回0 setIfAbsent 和 setnx 使用范围 s...
    99+
    2024-04-02
  • redis中getset命令的应用场景有哪些
    实现原子性的操作:利用getset命令可以实现原子性的操作,即同时获取原来的值并设置新的值,避免在多线程环境下出现数据不一致的问...
    99+
    2024-03-07
    redis
  • redis中setnx命令的应用场景有哪些
    分布式锁:在分布式环境中,可以使用setnx命令来实现分布式锁,确保同一时刻只有一个客户端能够获取锁。 防止重复提交:当用户...
    99+
    2024-03-07
    redis
  • redis中keys与scan命令的区别有哪些
    这篇文章将为大家详细讲解有关redis中keys与scan命令的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis keys和scan的区别redis的keys命令,通常在用来删除相关ke...
    99+
    2023-06-14
  • redis keys与scan命令的区别说明
    redis keys和scan的区别 redis的keys命令,通常在用来删除相关key时使用,但这个命令有一个弊端,在redis拥有数百万及以上的keys时,执行速度会比较慢,更致...
    99+
    2024-04-02
  • Shell中set与shopt命令如何使用
    Shell中set与shopt命令如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。set命令选项set命令作用主要是显示系统中已经存在的shell变量,以及设置shell...
    99+
    2023-06-09
  • linux中su与sudu命令的区别
    这篇文章主要介绍“linux中su与sudu命令的区别”,在日常操作中,相信很多人在linux中su与sudu命令的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中su与sudu命令的区别”的疑...
    99+
    2023-06-05
  • Redis中KEYS和SCAN命令的区别和建议
    当我们需要遍历Redis所有key或者指定模式的key时,首先想到的是KEYS命令,例如:keys * 相当于关系型数据库里的select *,因此在一个生产环境中的大Redis数据库中使用这个命令可...
    99+
    2024-04-02
  • mysql中的set names命令怎么使用
    在 MySQL 中,SET NAMES 命令用于设置客户端连接到服务器时使用的字符集。其语法为: SET NAMES charset...
    99+
    2024-04-22
    mysql
  • linux中su与su -命令区别有什么用
    小编给大家分享一下linux中su与su -命令区别有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux下使用su切换用户,只是用户发生变化,当前的操...
    99+
    2023-06-28
  • linux中su与sudo命令的区别是什么
    这篇文章将为大家详细讲解有关linux中su与sudo命令的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 使用 su 命令临时切换用户身份su 的适用条件和威力  su命令就...
    99+
    2023-06-13
  • Redis中Scan命令的使用方法
    小编给大家分享一下Redis中Scan命令的使用方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,...
    99+
    2024-04-02
  • Redis中的list命令怎么使用
    这篇文章主要介绍“Redis中的list命令怎么使用”,在日常操作中,相信很多人在Redis中的list命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis中...
    99+
    2024-04-02
  • chown与chmod命令在linux中的区别是什么
    今天就跟大家聊聊有关chown与chmod命令在linux中的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。chown 修改文件和文件夹的用户和用户组属性 1,要修改文件h...
    99+
    2023-06-10
  • 如何使用linux shell 管道命令及管道命令与shell重定向区别
    这篇文章主要介绍“如何使用linux shell 管道命令及与shell重定向区别”,在日常操作中,相信很多人在如何使用linux shell 管道命令及与shell重定向区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-09
  • Linux系统命令中exit与exit的区别是什么
    这篇文章主要介绍“Linux系统命令中exit与exit的区别是什么”,在日常操作中,相信很多人在Linux系统命令中exit与exit的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统...
    99+
    2023-06-13
  • ftp命令中binary mode与ascii mode的区别是怎样的
    这篇文章给大家介绍ftp命令中binary mode与ascii mode的区别是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 FTP可用多种格式传输文件,通常由系统决定,大多数系统(包括UNIX系统)只有两种...
    99+
    2023-06-04
  • Python中“is”与“==”的使用区别
    一、功能的区别 “is”: “is”用于比较两个变量是否指向内存中的同一对象。 “==”:“==”用于比较两个变量的值是否相等。 二、使用场景的区别 “is”: “is”通常用于比较变量与单例值(如None)...
    99+
    2023-10-29
    区别 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作