时间设置 Java操作Redis实现数据过期时间设置(redisjava过期)

关于定时任务来访问Redis,来将比较旧的数据设置为过期,说起来更多的联想到定时器来完成,但是在Redis当中有个更好的方式来实现数据过期时间,那就是利用Redis里边的EXPIRE和EXPIREAT命令,分别代表在多少秒钟之后和到某个时间点后过期,下面就以Java操作redis来实现数据过期设置为例来讲一讲。

可以直接使用org.springframework.data.redis.core.StringRedisTemplate来使用Expire和Expireat两个命令来设置redis的过期时间,比如在50s后过期,下面是相关代码:

expire(key,50L,TimeUnit.SECONDS);

如果要设置到某个时间点的话,比如2021-03-03 12:00:00之后的过期,则使用以下代码:

SimpleDateFormat sft = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

Date date =sft.parse(“2021-03-03 12:00:00”);

expireAt(key,date);

在这里有必要提一下expire和expireAt的区别:expire可以让用户利用本地时间做计算,而expireAt精确到毫秒会更准确,expireAtByTime返回1说明设置过期时间成功,返回0则说明key不存在,所以在设置超时时间前要先确认key是否存在。

总结一下,Redis有一个专用来设置数据过期时间的命令EXPIRE和EXPIREAT,可以利用java操作Redis来实现时间设置,比如在50s后过期的代码非常简单:expire(key,50L,TimeUnit.SECONDS),或者是到某个指定时间点的代码:expireAt(key,date)。


数据运维技术 » 时间设置 Java操作Redis实现数据过期时间设置(redisjava过期)