例子:我想让redis string "aKey":"aValue"expired at a future time(2018.08.17 00:00, now is 2018.08.16 12:00), 这是我的解决方案:
long expireTime = Date.from(LocalDateTime.now().with(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant()).getTime() - Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant()).getTime();
redisTemplate.opsForValue().set("aKey","aValue",expireTime, TimeUnit.SECONDS);
我想要一个完美的解决方案。
最佳答案
谢谢你的帮助,我明白了。 Redis有一个“EXPIREAT”命令,在Java中可以这样使用:
redisTemplate.opsForValue().set("aKey","aValue");
redisTemplate.expireAt("aKey",Date.from(LocalDateTime.now().with(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant()));
关于java - 如何在java中让redis在准确的时间过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51871913/