如何将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持久化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • idea2020中复制一个微服务实例的方法

    idea2020中复制一个微服务实例的方法

    这篇文章主要介绍了idea2020中复制一个微服务实例的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java 读取excel 文件流代码实例

    Java 读取excel 文件流代码实例

    这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 深入学习 Java 中的 Lambda

    深入学习 Java 中的 Lambda

    Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。,需要的朋友可以参考下
    2019-06-06
  • java8根据某一属性过滤去重的实例

    java8根据某一属性过滤去重的实例

    这篇文章主要介绍了java8根据某一属性过滤去重的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 详解Kotlin的空指针处理

    详解Kotlin的空指针处理

    这篇文章主要介绍了详解Kotlin的空指针处理的相关资料,需要的朋友可以参考下
    2017-06-06
  • MyBatis配置与CRUD超详细讲解

    MyBatis配置与CRUD超详细讲解

    这篇文章主要介绍了MyBatis配置与CRUD,CRUD是指在做计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)几个单词的首字母简写。CRUD主要被用在描述软件系统中数据库或者持久层的基本操作功能
    2023-02-02
  • Java操作Mysql的方法

    Java操作Mysql的方法

    这篇文章主要介绍了Java操作Mysql的方法,实例分析了Java针对有返回结果和没有返回结果的sql操作的相关技巧,需要的朋友可以参考下
    2015-02-02
  • Spring线程池ThreadPoolTaskExecutor的用法及说明

    Spring线程池ThreadPoolTaskExecutor的用法及说明

    这篇文章主要介绍了Spring线程池ThreadPoolTaskExecutor的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java语言十大基础特性分析

    Java语言十大基础特性分析

    这篇文章介绍了Java语言十大基础特性,它有哪些优势,需要的朋友可以参考下。
    2017-08-08
  • java中使用xls格式化xml的实例

    java中使用xls格式化xml的实例

    这篇文章主要介绍了java中调用xls格式化xml的实例的相关资料,需要的朋友可以参考下
    2017-07-07

最新评论