redis数据库设置对象的过期时间,到期后自动删除该条数据

news2025/1/17 1:03:06

redis数据库设置对象的过期时间,到期后自动删除该条数据!过期时间的事情经常发生。比如大家领到了一些购物券。这张购物券有一个过期时间。必须在某节点之前(某年某月末日)之前,使用掉,否则该券就会过期,无法再使用了。


下面就是redis设置过期时间的简单案例。

 @Test
        public void testRedisTime(){
            Jedis jedis = new Jedis("localhost",6379);


            //向redis数据库增加一条数据,带上过期的时间,1分钟后过期。

            jedis.setex("xiang03",60,"姹紫嫣红003");

            //创建定时器
            Timer timer = new  Timer();
            //创建定时器任务
            TimerTask timerTask = new TimerTask() {
                @Override
                public void run() {
                    System.out.println(jedis.get("xiang03"));
                }
            };
            timer.schedule(timerTask,1000*61);
        }

jedis.setex()这个方法,就可以带一个(单位:秒)的参数。第一个参数key.第二个参数过期时间(在当前的基础之上,向后推迟多少秒)。第三个参数是value.

我们设置了一个鲜花的数据,key:xiang03;value:姹紫嫣红03;过期时间是60秒后过期。

等到时间超过60秒之后,我们再去数据库内搜索这条key。就会出现返回了null.空对象。找不到了。说明redis已经删除了这条数据。


实际上,有时候,我们为了方便,还会设置具体的时间节点,而不是这样固定的时间数字。上面的案例使用的固定时间数字,比如,向后推迟1分钟,1小时,1天等,都可以自己计算出来。前提是你得输入是秒为单位。大家换算一下就行了。


那么,想输入具体的时间节点也是可以的,是用到另外一个方法。

redis设置指定日期过期的方法如下: 

在Redis中,我们可以使用expireat、pexpireat命令来设置key的过期时间为指定日期。expireat命令的时间参数为UNIX时间戳,而pexpireat命令的时间参数为UNIX时间戳的毫秒表示。可以使用Java的Date类或Calendar类将时间转换为UNIX时间戳。

// 使用jedis的expireAt方法设置key在2019-01-01 00:00:00时过期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2019-01-01 00:00:00");
long unixTime = date.getTime()/1000;
jedis.expireAt("key", unixTime);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1432494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ES高可用架构涉及常用功能整理

ES高可用架构涉及常用功能整理 1. es的高可用系统架构和相关组件2. es的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 数据分片按ip打散2.2.2 数据分片机架感知2.2.3 强制要求数据分片机架感知2.2.4 写入线程池优化2.2.5 分片balance优化2.2.6 限流控制器优化 3. es常用命令3.1 …

超低价搭建cyberpanel+LiteSpeed企业版web服务器

注意,这里的企业版使用的是官方提供的免费密钥,在密钥激活后有一个月的有效时间,到期后官方会自动续期你的密钥 教学用配置: image1097698 126 KB 优惠链接:雨云 - 新一代云服务提供商 3 这是LiteSpeed(以…

vue3 源码解析(5)— patch 函数源码的实现

什么是 patch 在 vue 中 patch 函数的作用是在渲染的过程中,比较新旧节点的变化,通过打补丁的形式,进行新增、删除、移动或替换操作,此过程避免了大量的 dom 操作,提升了运行的性能。 patch 执行流程 patch 函数整体…

0-MQTT基础使用教程【学习】

文件路径 MQTT基础使用教程1. MQTT1.1 MQTT简介1.1.1 什么是MQTT1.1.2 设计原则1.1.3 应用领域1.2 MQTT协议相关概念1.2.1 MQTT协议实现方式1.2.2 MQTT协议中的方法1.3 消息服务质量QoS1.3.1 消息服务质量QoS三个等级1.3.2 发布与订阅QoS1.4 Topic通配符匹配规则2. EMQX2.1 EMQ…

100183. 最大好子数组和

题目: 给你一个长度为 n 的数组 nums 和一个 正 整数 k 。 如果 nums 的一个子数组中,第一个元素和最后一个元素 差的绝对值恰好 为 k ,我们称这个子数组为 好 的。换句话说,如果子数组 nums[i..j] 满足 |nums[i] - nums[j]| k…

Python基于时间序列分析的大气污染预测的设计与实现,附源码

1 简介 Python基于时间序列分析的大气污染预测的设计与实现 摘要:随着当今社会工业的发展,世界各地的空气质量都下降的非常明显,大气的污染对人们的身体健康会产生极大的危害。所以从20世纪初我国就十分关注空气质量的治理问题,…

【Java】Redis入门

1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 官网:https://redis.io 中文网:https://www.redis.net.cn/ key-value结构存储: 主要特点: 基于内…

【Android】使用Termux终端的SSH服务与电脑传输文件

在Android手机上有一个Termux APP,可运行类似 Linux 终端的模拟器,记得之前有讲过用电脑远程控制手机终端命令,那现在,怎样实现电脑与手机直接传输文件呢,且看这篇文章。 文章目录 Termux安装功能ssh服务从远程下载从本…

深度学习入门笔记(六)线性回归模型

本节,我们用线性回归为例子,回顾一些基本概念 6.1 相关性 相关性的取值范围是-1 到 1,越接近 1 或者-1 代表越相关,越接近 0 则越不相关。相关系数大于 0 称为正相关,小于 0 称为负相关。 假如 A 与 B 正相关&#…

[Linux 进程控制(二)] 写时拷贝 - 进程终止

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制,讲之前我们先把写时拷贝理清,然后再开始讲进程控制。…

VMware无法检测到插入的USB设备,虚拟机插拔USB无反应

原本正常使用的VMware虚拟机,在进行了重装软件后,发现虚拟机插拔USB设备都无法检测到,没有任何的反应和提示。 通过一系列的操作发现,在新安装了VMware workstation 软件后,存在一定的概率性会发生VMware虚拟机无法自…

牛客网-------------------------长方体

解题思路: 设棱长为x,y,z;假设已知面积为a,b,c 那么,xya;yzb;xzc; 一式除二式得x/za/b x(a/b)*z 联立xzc 代入得(a/b)z^2c z^2c*b/a z根号下&…

pdf怎么转成高清图?pdf在线转换器推荐分享

在日常的工作或者学习中,有时候会需要将编辑好的pdf转高清图片,这样更方便我们后续使用,那么怎么将pdf转图片(https://www.yasuotu.com/pdftopic)还能保持清晰呢?下面介绍一款pdf转换工具,支持p…

某头部股份制银行基于 Data Fabric 的敏捷数据准备创新实践

【背景】 随着数字化转型的持续深入,某头部股份制银行把“依托数据洞察提升管理和营销的精准度、实现经营与服务的精细化与个性化”作为参与下一阶段数字化业务竞争的核动力。经过多年的探索,该头部股份制银行数字化技术与业务场景的融合逐渐进入了深水…

中科大计网学习记录笔记(三):接入网和物理媒体

前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…

《学成在线》微服务实战项目实操笔记系列(P1~P49)【上】

《学成在线》项目实操笔记系列【上】,跟视频的每一P对应,全系列12万字,涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳,参考这篇,相信会带给你极大启发。同时也欢迎大家提问与讨论,我会尽力帮大家解…

高通android设备themal读取cpu温度

以msm8953的themal分布信息,主要是下图的位置: 这其中 cpu相关的themal的位置有: 读取thermal 温度数据可以通过以下几个步骤: 获取sensor_info rootmsm8953_64:/ # cat /sys/module/msm_thermal/sensor_info tsens:tsens_tz_se…

数据结构 - 线段树

1. 预制值: 构建的数组为,nums:【2, 5, 1, 4, 3】区间和问题,假设求区间 [1,3] 的和 2. 建树 2.1 构建线段树数组 int[] segT new int[4*n](为什么数组大…

Vivado Tri-MAC IP的例化配置(三速以太网IP)

目录 1 Tri-MAC IP使用RGMII接口的例化配置1.1 Data Rate1.2 interface配置1.3 Shared Logic配置1.4 Features 2 配置完成IP例化视图 1 Tri-MAC IP使用RGMII接口的例化配置 在网络设计中,使用的IP核一般为三速以太网IP核,使用时在大多数场景下为配置为三…

【计算机图形学】实验一 DDA算法、Bresenham算法

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…