例如:我想让redis字符串“aKey”:“aValue”在未来某个时间过期(2018年8月17日00:00,现在是2018年8月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);
Run Code Online (Sandbox Code Playgroud)
我想要一个完美的解决方案。
谢谢你的帮助,我明白了。Redis 有一个“EXPIREAT”命令,在 Java 中可以这样使用:
redisTemplate.opsForValue().set("aKey","aValue");
redisTemplate.expireAt("aKey",Date.from(LocalDateTime.now().with(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3006 次 |
最近记录: |