如何将Spring Session存储到Redis中实现持久化
Session持久化
1. 添加依赖
在项目中添加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>2. 配置redis连接信息
# redis连接配置信息 spring.redis.host=124.221.76.124 # 不写默认wei6379,数据库为0 # spring.redis.database=15 spring.redis.port=6379 # 配置session连接信息 spring.session.store-type=redis server.servlet.session.timeout=1800 spring.session.redis.flush-mode=on_save spring.session.redis.namespace=spring:session
3. 存储和读取session从Redis
package com.example.sp_redis.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* 实现session持久化
* @author zq
* @date 2023-07-26 14:37
*/
@RestController
public class UserController {
private static final String SESS_USER_KEY = "SESS_USER_KEY";
@RequestMapping("/login")
public String login(HttpSession httpSession) {
//存入session
httpSession.setAttribute(SESS_USER_KEY, "wangwu");
return "Session set success.";
}
@RequestMapping("/getuser")
public String getUser(HttpServletRequest request) {
String user = "NULL";
HttpSession session = request.getSession(false);
if (session != null) {
//从redis中获取session
Object userObj = session.getAttribute(SESS_USER_KEY);
if (userObj != null) {
user = userObj.toString();
}
}
return user;
}
}我们访问localhost:8080/login 将session存入redis

接着访问localhost:8080/login可以读取到缓存中的数据

接着我们可以在redis客户端看到存入到session

到此这篇关于如何将Spring Session存储到Redis中实现持久化的文章就介绍到这了,更多相关Spring Session Redis持久化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤操作
这篇文章主要介绍了SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤操作,主要使用Jpa连接数据库对数据进行排序、分页、条件查询和过滤操作,需要的朋友可以参考下2023-05-05
IDEA2019.2.2配置Maven3.6.2打开出现Unable to import Maven project
这篇文章主要介绍了IDEA2019.2.2配置Maven3.6.2打开出现Unable to import Maven project,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
SpringBoot中@RestControllerAdvice 全局异常处理的实现
本文主要介绍了SpringBoot中@RestControllerAdvice 全局异常处理的实现,通过定义统一响应格式、自定义异常类及测试验证,确保接口异常时返回指定格式的提示信息,提升错误处理一致性2025-06-06
SpringMVC @RequestMapping的使用演示和细节展示
本文详细介绍了SpringMVC中@RequestMapping注解的用法,包括其映射请求、参数配置、Ant风格URL、与@PathVariable结合使用,以及如何通过@Controller实现POJO作为控制器,强调掌握该注解对SpringMVC开发的重要性,感兴趣的朋友跟随小编一起看看吧2025-09-09


最新评论