如何使用Spring Boot Redis获得对象空闲时间

时间:2018-08-15 11:55:35

标签: spring-boot redis

我正在尝试实施会话管理,我们将jwt令牌存储到Redis。现在,如果对象空闲时间超过8小时,我想删除密钥。请帮助

1 个答案:

答案 0 :(得分:0)

我想到,除了非常琐碎的内存需求之外,没有任何理由使用IDLETIME而不是使用更简单的发布GET后跟EXPIRE的模式密钥到期。

推荐方式:GETEXPIRE

  1. GET您想要的密钥。
  2. 发出EXPIRE <key> 28800

使用OBJECT IDLETIMEDEL和一些应用程序逻辑的方法:

  1. GET您想要的密钥。
  2. 致电OBJECT IDLETIME <key>
  3. 检查您的应用程序代码是否空闲时间> 8h。
  4. 如果满足条件3,则发出DEL命令。

第二种方法比较麻烦,并且会引入网络延迟,因为您需要到Redis服务器进行三次往返,而第一种解决方案是在使用管道的情况下一次往返进行一次,或者在没有最坏应用程序时间的情况下进行两次往返。