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 过期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis 缓存使用的热点Key问题的解决

    Redis 缓存使用的热点Key问题的解决

    Redis热点Key因高并发导致性能问题,可通过监控发现并利用本地缓存、分片、读写分离及限流熔断等策略分散压力,下面就来了解一下
    2025-05-05
  • Redis的Hash类型及相关命令小结

    Redis的Hash类型及相关命令小结

    edis Hash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • 深入浅析Redis 集群伸缩原理

    深入浅析Redis 集群伸缩原理

    Redis 集群提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容,也可以下线部分节点进行缩容,接下来通过本文给大家分享Redis 集群伸缩原理,感兴趣的朋友一起看看吧
    2021-05-05
  • 基于Redis实现短信验证码登录功能

    基于Redis实现短信验证码登录功能

    对于我们用户来讲,我们在登陆一个APP的时候,有很多种登陆方式,比如"微信扫码"、"手机号登陆"、"支付宝扫码"、"账号密码登录",现在大多都会要求微信扫码登录或者是手机号验证码登录,所以本文给大家介绍了基于Redis实现短信验证码登录功能,需要的朋友可以参考下
    2025-01-01
  • 一文快速搞懂Redis的几种数据类型方式

    一文快速搞懂Redis的几种数据类型方式

    这篇文章主要介绍了一文快速搞懂Redis的几种数据类型方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Redis高可用梳理详解

    Redis高可用梳理详解

    高可用的本质是有备份,在出现故障的时候,有backup可以提供服务,本文详细介绍了Redis的高可用,感兴趣的同学可以参考阅读
    2023-05-05
  • redis实现计数器-防止刷单方法介绍

    redis实现计数器-防止刷单方法介绍

    本文主要向大家介绍了redis实现计数器防止刷单的方法和有关代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Redis 键值对(key-value)数据库实现方法

    Redis 键值对(key-value)数据库实现方法

    Redis 的键值对中的 key 就是字符串对象,而 value 可以是字符串对象,也可以是集合数据类型的对象,比如 List 对象,Hash 对象、Set 对象和 Zset 对象,这篇文章主要介绍了Redis 键值对数据库是怎么实现的,需要的朋友可以参考下
    2024-05-05
  • 在Centos 8.0中安装Redis服务器的教程详解

    在Centos 8.0中安装Redis服务器的教程详解

    由于考虑到linux服务器的性能,所以经常需要把一些中间件安装在linux服务上,今天通过本文给大家介绍下在Centos 8.0中安装Redis服务器的详细过程,感兴趣的朋友一起看看吧
    2022-03-03
  • 在CentOS 7环境下安装Redis数据库详解

    在CentOS 7环境下安装Redis数据库详解

    Redis是一个开源的、基于BSD许可证的,基于内存的、键值存储NoSQL数据本篇文章主要介绍了在CentOS 7环境下安装Redis数据库详解,有兴趣的可以了解一下。
    2016-11-11

最新评论