时间设置Java中利用Redis设置过期时间的实现(redisjava过期)
最近因为业务需要,我需要用Redis来实现某些Java程序自动设置及更新过期时间,我找到了一些关于Redis中实现过期时间设置的文章,但由于没有实际实现过,我依然有很多探索前景,但终究要从实践中学会。下面就用Java程序来实现Redis的过期时间设置。
**实现步骤**
1. 创建Java应用
使用IntelliJ IDEA创建一个新的maven项目,在pom文件中添加Redis-依赖,以获取Redis的客户端连接:
“`xml
redis.clients
jedis
3.0.1
2. 初始化Redis客户端建立好访问Redis的客户端,并通过Redis的配置信息设定Redis的连接:
```javaJedis jedis = new Jedis("localhost");
3. 设置键的过期时间
设置存储在Redis中的一个或多个键的过期时间。常用的两个Redis命令如下:
“`java
//给指定的键 “key1” 设置过期时间为60s
jedis.expire(“key1”, 60);
//将指定的键 “key2” 的过期时间设置为2019/05/25 10:52:00
jedis.expireAt(“key2”, 1558744320);
4. 定时更新过期时间有时需要定期更新Redis中存储的某个或某些键的过期时间,此时可以使用Quartz定时器来定期更新键的过期时间:
```java//设定定时任务
JobDetail job = JobBuilder.newJob(JedisJob.class).withIdentity("job1", "group1").build();//设定触发时间
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").withSchedule(CronScheduleBuilder.cronSchedule("0 0/1 * * * ? 2019")).build(); //添加任务及触发器
Scheduler scheduler = new StdSchedulerFactory().getScheduler();scheduler.start();
scheduler.scheduleJob(job, trigger);
5.更新过期时间
在Quartz定时器中,获取定时触发并依据设定的更新键的过期时间:
“`java
//在定时任务中更新key的过期时间
public class JedisJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Jedis jedis = new Jedis(“127.0.0.1”);
//给key1重新设定过期时间
jedis.expire(“key1”,200);
//给key2重新设定过期时间
jedis.expireAt(“key2”, 1558744320);
jedis.close();
}
}
以上就是在Java中利用Redis来实现过期时间设置的实现方式,上述步骤中只介绍了定时更新过期时间的操作,在日常的业务开发中,还有其他更多的增删改查操作,之后可以增添灵活的操作来完善本次实现过期时间设置的应用业务。