SpringBoot——Redis实现分布式集群Session共享

1.添加pom.xml依赖

org.springframework.boot
  spring-boot-starter-data-redis

  org.springframework.session
  spring-session-data-redis

2.添加RedisSessionConfig.java配置

import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * @EnableRedisHttpSession 开启Redis Session缓存
 * maxInactiveIntervalInSeconds: session过期时间
 *
 * */
@Configuration
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 30)
public class RedisSessionConfig {

}

3.添加application.yml配置

spring:
  redis:
    database: 0
    host: localhost
    port: 6379
    password:

4.添加controller测试代码

@RestController
@RequestMapping("/user-info")
public class UserInfoController {

    //测试
    @GetMapping("/list2")
    public Map setSession(HttpServletRequest request) {

        Map map = new HashMap<>();
        request.getSession().setAttribute("request Url", request.getRequestURL());
        map.put("request Url", request.getRequestURL());
        return map;
    }

    @GetMapping("/list3")
    public Map getSession(HttpServletRequest request) {

        Map map = new HashMap<>();
        map.put("sessionIdUrl", request.getSession().getAttribute("request Url"));
        map.put("sessionId", request.getSession().getId());
        return map;
    }

}

5.修改idea配置 启动多个节点项目

第一个节点正常启动就可以了,我application.yml里面配了8771

第二个节点需要改端口号,我这里设置8772

SpringBoot------Redis实现分布式集群Session共享

6.依次访问地址

http://127.0.0.1:8771/user/user-info/list2

http://127.0.0.1:8771/user/user-info/list3

http://127.0.0.1:8772/user/user-info/list3

发现:

两个节点获取到的SessionId是一致的,表明多节点实现Session共享

SpringBoot------Redis实现分布式集群Session共享

SpringBoot------Redis实现分布式集群Session共享

Original: https://www.cnblogs.com/tianhengblogs/p/15325247.html
Author: 玉天恒
Title: SpringBoot——Redis实现分布式集群Session共享

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529130/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Popovers

    弹出式窗口弹出式窗口是一个短暂的视图,当你点击一个控件或一个区域时,它就会出现在屏幕上的其他内容之上。通常情况下,弹出窗口包括一个箭头,指向它出现的位置。弹出式窗口可以是非模态或模…

    Linux 2023年6月7日
    0102
  • Mybatis源码解读-SpringBoot中配置加载和Mapper的生成

    本文 mybatis-spring-boot探讨在springboot工程中mybatis相关对象的注册与加载。 建议先了解mybatis在spring中的使用和springboo…

    Linux 2023年6月7日
    0123
  • Unable to install NuGet provider for PowerShell

    https://docs.microsoft.com/en-us/officeonlineserver/enable-tls-1-1-and-tls-1-2-support-in-…

    Linux 2023年5月28日
    078
  • Ubuntu 启动ssh服务

    ubuntu sudo apt-get install openssh-server service sshd start service ssh status sudo ufw …

    Linux 2023年5月27日
    0124
  • Android:Jetpack之视图绑定——ViewBinding

    1.Jetpack简介 手机厂商还没卷完Android 12, Android 13就悄然声息地来了,距离Google 2008年9月22日发布Android 1.0,已过去13个…

    Linux 2023年6月13日
    0106
  • 配置git环境与项目创建

    主要用于记录上课笔记,方便以后复习 acgit的地址:https://git.acwing.com/wyw/kob1/ 1. 项目模块的包含 1.1 采用前后端分离 Web端大概框…

    Linux 2023年6月6日
    0120
  • 防数据泄露_MySQL库和数据安全

    攻击场景 外部入侵 内部盗取 防御体系建设 参考 在企业安全建设中有一个方向是防数据泄露,其中一块工作就是保障数据库安全,毕竟这里是数据的源头。当然数据库也分不同的种类,不同类型的…

    Linux 2023年6月6日
    0115
  • [ Shell ] 通过 Shell 脚本导出 CDL 网表

    通过 si 导出电路网表,实际上在 Virtuoso 中通过菜单 File – Export – CDL 和 Calibre LVS 中 Export fr…

    Linux 2023年6月7日
    0167
  • 聊斋-河间生

    人的善恶在转瞬之间就可以改变,发现错误时往往已经差之千里了,但是发现错误及时改正这不也是很美好的一件事情么?河间生就是讲了这么一件事情。 主角简介:河间某生,家里比较富裕,烧火用的…

    Linux 2023年6月14日
    0124
  • 白话linux操作系统原理

    虽然计算机相关专业,操作系统和计算机组成原理是必修课。但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化。还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解…

    Linux 2023年5月27日
    0120
  • 杨辉三角的变形—牛客网

    杨辉三角的变形_牛客题霸_牛客网 (nowcoder.com) #include using namespace std; int main() { //这个树的偶数规律为 -1 …

    Linux 2023年6月13日
    0130
  • MybatisPlus核心功能——实现CRUD增删改查操作 (包含条件构造器)

    CRUD 官方文档:https://baomidou.com/(建议多看看官方文档,每种功能里面都有讲解)【本文章使用的mybatisplus版本为3.5.2】 条件构造器 一般都…

    Linux 2023年6月7日
    0126
  • 顺序栈

    #pragma once #ifndef _SEQSTACK_ #define _SEQSTACK_ #include using namespace std; typedef i…

    Linux 2023年6月7日
    086
  • Redis 缓存更新一致性

    在使用 Redis 作为数据库缓存的场景中对数据的读取流程通常是先读取缓存如果命中则返回,未命中则从数据库读取并把数据写到缓存中。 当更新数据时则数据库和缓存都要进行更新,此时我们…

    Linux 2023年5月28日
    093
  • 分析redis key大小的几种方法

    当redis被用作缓存时,有时我们希望了解key的大小分布,或者想知道哪些key占的空间比较大。本文提供了几种方法。 一. bigKeys 这是redis-cli自带的一个命令。对…

    Linux 2023年5月28日
    0137
  • 【Leetcode】120. 三角形最小路径和

    给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。 &#x76F8;&#x90BB;&#x7684;&a…

    Linux 2023年6月6日
    0109
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球