示例:我想使redis字符串“ aKey”:“ aValue”在将来的某个时间到期(2018.08.17 00:00,现在是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);
我想要一个完美的解决方案。
答案 0 :(得分:1)
谢谢您的帮助,我明白了; redis具有“ EXPIREAT”命令; 我可以用这个替换我的代码: redisTemplate.opsForValue()。set(“ aKey”,“ aValue”); redisTemplate.expireAt(“ aKey”,Date.from(LocalDateTime.now()。with(LocalTime.MAX).atZone(ZoneId.systemDefault())。toInstant()));