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端口
存储和读取代码
@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;
}
}