Redis设置过期时间的实现示例

 更新时间:2025年06月18日 09:47:30   作者:Muscleheng  
在使用redis作为缓存存储值的时候,一般都是需要设置值的过期时间,本文主要介绍了Redis设置过期时间的实现示例,具有一定的参考价值,感兴趣的可以了解一下

在使用redis作为缓存存储值的时候,一般都是需要设置值的过期时间,否则日积月累的垃圾数据就会占用大量的内存空间;

设置过期时间可以分开设置也可以一条语句设置

分开设置

先设置值再设置过期时间,这种方式极端情况下会出现问题,毕竟是非原子操作。

	// 两条命令分别设置值和过期时间
	// 时间单位:秒
	redis.expire("key",6);
	// 时间单位:毫秒
	//redis.pexpire("key",6000L);

合并设置

一条命令同时设置值和过期时间,推荐使用此方式。

	// 一条语句设置值和过期时间
    // 时间单位:秒
	redis.setex("key",6,"value");
    // 时间单位:毫秒
	//redis.psetex("key",6000L,"value");

一般主要包括2种处理过期方式,其中expire都是以秒为单位,pexpire都是以毫秒为单位的。

第一种

设置值的有效时间。

    expire (key seconds)        // 为给定 key 设置过期时间,以秒计。
    pexpire (key milliseconds)  // 设置 key 的过期时间以毫秒计。
    setex(String key, long seconds, String value) // 建议使用原子操作设置过期时间,而不是先设置值再设置过期时间

第二种

设置值的到期时间,根据时间的时间戳设置,例如:2021年6月1号上午10点10分10秒到期,就填此时刻的时间戳

// 设置 key 过期时间的时间戳(unix timestamp) 单位:秒时间戳,
// 例如:2021年6月1号上午10点10分10秒到期 timestamp=1622513410
expireat (key timestamp)

// 设置 key 过期时间的时间戳(unix timestamp) 单位:毫秒时间戳
// 例如:2021年6月1号上午10点10分10秒到期 timestamp=1622513410000
pexpireat (key milliseconds-timestamp)

注:更新值会清除过期时间,如果用DEL, SET, GETSET会将key对应存储的值替换成新的,命令也会清除掉超时时间;如果list结构中添加一个数据或者改变hset数据的一个字段是不会清除超时时间的;如果想要通过set去覆盖值那就必须重新设置expire。

到此这篇关于Redis设置过期时间的实现示例的文章就介绍到这了,更多相关Redis 过期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux服务器快速安装Redis6.0步骤示例详解

    Linux服务器快速安装Redis6.0步骤示例详解

    这篇文章主要为大家介绍了Linux服务器快速安装Redis6.0步骤示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • CentOS6.4 安装Redis 教程详解

    CentOS6.4 安装Redis 教程详解

    这篇文章主要介绍了CentOS6.4 安装Redis 教程详解,需要的朋友可以参考下
    2017-05-05
  • 面试分析分布式架构Redis热点key大Value解决方案

    面试分析分布式架构Redis热点key大Value解决方案

    这篇文章主要为大家介绍了分布式架构Redis热点key大Value解决方案,以及在面试中如果遇到这类问题的分析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-03-03
  • Redis配置文件最佳实践

    Redis配置文件最佳实践

    这篇文章主要介绍了Redis配置文件详解,本文主要是根据Redis6.0.x版本的配置文件讲解,其它版本的也可以当做一个参考,需要的朋友可以参考下
    2025-05-05
  • Redis如何使用zset处理排行榜和计数问题

    Redis如何使用zset处理排行榜和计数问题

    Redis的ZSET数据结构非常适合处理排行榜和计数问题,它可以在高并发的点赞业务中高效地管理点赞的排名,并且由于ZSET的排序特性,可以轻松实现根据点赞数实时排序的功能
    2025-02-02
  • Redis配置外网可访问(redis远程连接不上)的方法

    Redis配置外网可访问(redis远程连接不上)的方法

    默认情况下,当我们在部署了redis服务之后,redis本身默认只允许本地访问。Redis服务端只允许它所在服务器上的客户端访问,如果Redis服务端和Redis客户端不在同一个机器上,就要进行配置。
    2022-12-12
  • Redis实现UV统计的示例代码

    Redis实现UV统计的示例代码

    本文主要介绍了Redis实现UV统计的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Redis定时任务原理的实现

    Redis定时任务原理的实现

    本文主要是基于 redis 6.2 源码进行分析定时事件的数据结构和常见操作,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Redis实现事物以及锁的方法

    Redis实现事物以及锁的方法

    本文主要介绍了Redis实现事物以及锁的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Redis入门教程_动力节点Java学院整理

    Redis入门教程_动力节点Java学院整理

    Redis是一款开源的、高性能的键-值存储(key-value store)。下面通过本文大家分享Redis入门教程,感兴趣的朋友参考下吧
    2017-08-08

最新评论