时间设置Java实现Redis设置Key的过期时间(redisjava过期)
Redis是以内存为基础的分布式NoSQL数据库,其能够在短时间内获取大量数据,使得高效访问提高,是当今服务端开发开发中使用度越来越多的数据库解决方案。在实现业务场景时,Redis也可以帮助我们做定时删除的应用场景,今天就来介绍一下如何通过Java实现Redis设置Key的过期时间。
Redis具有expire和expireat这两个命令,分别用来设置Key的过期时间,是一种非常简单的为客户端提供的超时服务。在使用这两个方法之前,我们需要先理解什么是Unix时间戳,Unix时间戳表示1970年1月1日00:00:00之后经历的秒数,因此我们在使用这两种操作之前,可以通过以下代码将我们想要的具体时间转换成Unix时间戳格式:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2020-05-14 13:00:00"); long unixTime = date.getTime()/1000;
然后该unixTime即可以作为expire和expireat这两个方法的参数,使用expire需要传入到期的秒数,而expireat则需要传入到期的Unix时间戳。而在实际的应用中,我们通常都使用expire来设置Key的过期时间。那么这里我们就可以通过以下代码来实现Java实现Redis设置Key的过期时间:
Jedis jedis = new Jedis("127.0.0.1", 6379);
//设置过期时间为20sjedis.expire("key",20);
最后,在应用开发流程中,使用Rdis设置key的过期时间是和memcatche中设置key的过期时间一样,但与Memcahe比较大的不同之处是,Redis由于在内存中存储,数据一般不会失效,只有在程序持续存在的情况下才会受到超时消失的影响,因此在此亦可使用合理的保持上线时间、更新缓存等措施来实现对缓存的高效管理。