gpt4 book ai didi

spring-boot - 使用Spring的@EnableRedisHttpSession时如何在 Controller 中获取session或redis key的过期时间?

转载 作者:行者123 更新时间:2023-12-02 18:59:53 26 4
gpt4 key购买 nike

我正在使用 Spring Boot 和 Spring session 。这是我的简单配置。

@EnableRedisHttpSession
public class Config {}

Spring Boot 默认创建一个 RedisConnectionFactory ,我将相应的 hostport 信息等放在 application.yml 中> 文件(为简洁起见已删除)

我还添加了安全相关信息(为简洁起见,将其从此处删除)。

现在这是我的 Controller 。

@RestController
public HomeController {

@GetMapping("/hello")
public String home(HttpSession session){
// I need redis's key's expiration time. or session id's expiration time.
// how can I get this? Should I use HttpSession?
return "hello";
}

}

如何在 Controller 中获取 session 过期时间?或者更确切地说,我怎样才能获得redis的 key 的过期时间?

最佳答案

您需要使用HttpSession

您可以将其添加为 Controller 方法中的参数,如下所示(也在问题中显示)。

@GetMapping("/hello")
public String home(HttpSession session){
// I need redis's key's expiration time. or session id's expiration time.
// how can I get this? Should I use HttpSession?
int ttl = session.getMaxInactiveInterval(); // this should give redis TTL
return "hello";
}

并且您可以使用HttpSession的getMaxInactiveInterval获取redis的TTL值的方法如上面的代码所示。

关于spring-boot - 使用Spring的@EnableRedisHttpSession时如何在 Controller 中获取session或redis key的过期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com