Redis中set、setnx、setex的使用区别及说明

 更新时间:2025年11月05日 14:14:49   作者:梦想不会灭  
本文介绍了Redis中的SET、SETEX、SETNX和GETSET命令,分别用于设置键值对、设置带过期时间的键值对、仅当键不存在时设置键值对以及获取并设置键值对,同时,还提到了expire和persist命令用于设置和清除键的过期时间

1、SET

	SET key value

含义:

  • 将字符串值 value 关联到 key 。
  • 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。

2、SETEX

	SETEX key seconds value

含义:

  • 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。
  • 如果 key 已经存在, SETEX 命令将覆写旧值。

返回值:

  • 设置成功时返回 OK 。
  • 当 seconds 参数不合法时,返回一个错误。

3、SETNX

	SETNX key value 

含义:

  • 将 key 的值设为 value ,当且仅当 key 不存在。
  • 若给定的 key 已经存在,则 SETNX 不做任何动作。
  • SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。

返回值:

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

4、GETSET

	GETSET key value 

含义:

  • 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
  • 当 key 存在但不是字符串类型时,返回一个错误。

返回值:

  • 返回给定 key 的旧值。
  • 当 key 没有旧值时,也即是, key 不存在时,返回 null 。

备注:

1、expire命令可以设置超时,让现有的key获得超时时间

	Expire KEY_NAME TIME_IN_SECONDS

2、persist命令可以清除超时,让key变成一个永久的key

	PERSIST KEY_NAME

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Redis分布式可重入锁实现方案

    Redis分布式可重入锁实现方案

    在单进程环境下,要保证一个代码块的同步执行,直接用synchronized 关键字或ReetrantLock 即可,在分布式环境下,要保证多个节点的线程对代码块的同步访问,就必须要用到分布式锁方案,本文介绍一下基于 Redis实现的分布式锁方案,感兴趣的朋友一起看看吧
    2024-02-02
  • 关于Redis的内存淘汰策略详解

    关于Redis的内存淘汰策略详解

    当内存空间使用达到限制时,Redis 会根据配置策略来选择不同处理方式,要么返回 errors,要么按照不同的策略算法来清除一些旧数据,达到回收内存的目的,这就是 Redis 的内存淘汰,有些文章中,内存淘汰也叫缓存回收,需要的朋友可以参考下
    2023-05-05
  • Windows下搭建Redis集群的方法步骤

    Windows下搭建Redis集群的方法步骤

    本文主要介绍了Windows下搭建Redis集群的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 详解如何在YAML文件中配置Redis

    详解如何在YAML文件中配置Redis

    在现代软件开发中,配置文件是非常重要的一部分,其中,YAML(YAML Ain't Markup Language)是一种常用的配置文件格式,具有可读性强、易于理解和编写的特点,在本篇文章中,我们将探讨如何在YAML文件中配置Redis,需要的朋友可以参考下
    2024-09-09
  • Redis字符串对象实用笔记

    Redis字符串对象实用笔记

    这篇文章主要给大家介绍了关于Redis字符串对象的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Windows下注册Redis服务失败的解决方案

    Windows下注册Redis服务失败的解决方案

    在Windows系统中,有时候我们需要将Redis作为一个服务运行,以便于在后台长期运行并提供服务,本篇技术博客文章将为你解答在Windows下注册Redis服务失败的一些常见问题,并提供相应的解决方案,需要的朋友可以参考下
    2024-11-11
  • Redis缓存过期的实现示例

    Redis缓存过期的实现示例

    Redis缓存的过期策略是保证缓存可靠性和性能的关键之一,本文主要介绍了Redis缓存过期的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Redis集群下过期key监听的实现代码

    Redis集群下过期key监听的实现代码

    这篇文章主要介绍了Redis集群下过期key监听的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 基于redis.properties文件的配置及说明介绍

    基于redis.properties文件的配置及说明介绍

    今天小编就为大家分享一篇基于redis.properties文件的配置及说明介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 高并发场景分析之redis+lua防重校验

    高并发场景分析之redis+lua防重校验

    这篇文章主要介绍了高并发场景分析之redis+lua防重校验,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论