如何将Spring Session存储到Redis中实现持久化

 更新时间:2023年07月27日 15:52:06   作者:薯条和番茄酱  
这篇文章主要介绍了如何将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持久化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • idea使用tomcat报404的问题及解决过程

    idea使用tomcat报404的问题及解决过程

    解决Tomcat部署问题:检查路径是否正确(JSP文件避免放在WEB-INF)、确保Tomcat配置路径一致,必要时重新部署,若日志乱码,修改logging.properties中编码为GBK
    2025-08-08
  • 解决mybatis-plus自定义xml的坑

    解决mybatis-plus自定义xml的坑

    这篇文章主要介绍了解决mybatis-plus自定义xml的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 一次线上websocket返回400问题排查的实战记录

    一次线上websocket返回400问题排查的实战记录

    最近项目中有端对端通信场景,实时性要求较高,考虑后选用了websocket 这一通信协议,下面这篇文章主要给大家介绍了一次线上websocket返回400问题排查的实战记录,需要的朋友可以参考下
    2022-04-04
  • SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤操作

    SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤操作

    这篇文章主要介绍了SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤操作,主要使用Jpa连接数据库对数据进行排序、分页、条件查询和过滤操作,需要的朋友可以参考下
    2023-05-05
  • Jmeter逻辑控制器事务控制器使用方法解析

    Jmeter逻辑控制器事务控制器使用方法解析

    这篇文章主要介绍了Jmeter逻辑控制器事务控制器使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • IDEA2019.2.2配置Maven3.6.2打开出现Unable to import Maven project

    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
  • Spring实例化对象的几种常见方式

    Spring实例化对象的几种常见方式

    Spring框架作为一个轻量级的控制反转容器,为开发者提供了多种对象实例化的策略,通过这些策略,开发者可以更加灵活地控制对象的生命周期和依赖关系,无论是通过XML配置、注解配置还是Java配置,Spring都能轻松地实现对象的实例化,本文将介绍Spring实例化对象的几种常见方式
    2024-12-12
  • SpringBoot中@RestControllerAdvice 全局异常处理的实现

    SpringBoot中@RestControllerAdvice 全局异常处理的实现

    本文主要介绍了SpringBoot中@RestControllerAdvice 全局异常处理的实现,通过定义统一响应格式、自定义异常类及测试验证,确保接口异常时返回指定格式的提示信息,提升错误处理一致性
    2025-06-06
  • Java函数式Lambda编程的使用学习(图文教程)

    Java函数式Lambda编程的使用学习(图文教程)

    文章介绍了Java中的Lambda表达式,它是一种替代匿名内部类的简洁方式,适用于函数式接口,通过Lambda表达式,可以简化代码,提高可读性,文章还讨论了方法引用的几种常见用法,包括静态方法引用、实例方法引用、特定类型方法引用和构造器引用
    2025-11-11
  • SpringMVC @RequestMapping的使用演示和细节展示

    SpringMVC @RequestMapping的使用演示和细节展示

    本文详细介绍了SpringMVC中@RequestMapping注解的用法,包括其映射请求、参数配置、Ant风格URL、与@PathVariable结合使用,以及如何通过@Controller实现POJO作为控制器,强调掌握该注解对SpringMVC开发的重要性,感兴趣的朋友跟随小编一起看看吧
    2025-09-09

最新评论