Spring Session 持久化 【Redis】

Spring Session 持久化(存储到redis中)

添加依赖

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.session</groupId>
 <artifactId>spring-session-data-redis</artifactId>
</dependency>

修改配置

spring.session.store-type=redis #存储类型
server.servlet.session.timeout=1800 #session超时时间
spring.session.redis.flush-mode=on_save #保存方式
spring.session.redis.namespace=spring:session #namespace
spring.redis.host=43.140.252.242 #服务器ip
spring.redis.password=    #redis密码
spring.redis.port=6379    #redis端口

存储和读取代码


// https://docs.spring.io/spring-session/reference/guides/boot-redis.html
    @RestController
    public class UserController {
    
    
        private static final String SESS_USER_KEY = "SESS_USER_KEY";

        @RequestMapping("/login")
        public String login(HttpSession httpSession) {
    
    
            httpSession.setAttribute(SESS_USER_KEY, "wangwu");
            return "Session set success.";
        }

        @RequestMapping("/user")
        public String getUser(HttpServletRequest request) {
    
    
            String user = "NULL";
            HttpSession session = request.getSession(false);
            if (session != null) {
    
    
                Object userObj = session.getAttribute(SESS_USER_KEY);
                if (userObj != null) {
    
    
                    user = userObj.toString();
                }
            }
            return user;
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_53939785/article/details/129863695