时间Java 操作 Redis 设置 Keys 过期时间(redisjava过期)


  随着业务数据不断发展,缓存技术也越来越重要,Redis 是其中常见的缓存数据库,我们通过操作 Redis API 来管理存储在 Redis 中的 key-value 数据,其中特别重要的就是 key 的超时时间了。一般来说,我们可以在 set 添加数据时,传入一个指定的时间参数,即若超过这个时间,那么 key-value 将被删除,这就是设置 key 过期时间的方法。

  以 Java 为例,首先必须导入对应的 Redis set 包,然后获取 Jedis 的实例:

“`java

import redis.clients.jedis.Jedis;

Jedis jedis = new Jedis(“你的redis的ip地址”, 6379))


  接下来,我们创建一个 key,值任选,然后设置该 key 对应的过期时间,这里设置为 10 秒:

```java
// 添加 key
String key = "name";
String value = "ayu";
jedis.set(key, value);

// 设置 key 的过期时间
jedis.expire(key, 10);

  Redis 提供了两个方法来设置指定 key 过期时间,一种是 “EXPIRE” 方法,该方法接收一个秒数参数,表示指定 key 在经过多少秒后过期,第二种则是 “EXPIREATH” 方法,它需要传一个时间戳,即指定 key 在某个指定的时间点后被删除:

“`java

// 设置 key 的过期时间,需指定为 UNIX 时间戳,即 13 位的时间戳

Long timeStamp = 155479000;

jedis.expireAt(key, timeStamp);


  此外,如果希望分秒级别设置过期时间,则可以使用 redis 5.0 提供的 "PEXPIRE" 命令,它接收一个毫秒数参数,表示指定 key 在经过多少毫秒后过期:

```java
// 设置 key 的过期时间,需指定为毫秒级别
Long timeStamp = 15547900;
jedis.pexpire(key, timeStamp);

  总之,当我们使用 Java API 或者 Redis 命令行的时候,均可以使用这些 API 来设置 key 的过期时间,以保证 Redis 能够及时删除已无用的数据,对于 Redis 缓存数据的管理也就成为可能。