HttpSession,是通过Servlet容器创建并进行管理的,创建成功以后将会保存在内存中,这里将会使用Redis解决session共享的问题。

创建项目

添加pom

添加相关的maven

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.1.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.3.1.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/io.lettuce/lettuce-core --><dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.0.0.M1</version></dependency><!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.3.0</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis --><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId><version>2.3.0.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

配置redis连接

配置redis连接

spring:redis:database: 0host: 106.53.115.12port: 6379password: 12345678jedis:pool:max-active: 8max-idle: 8max-wait: -1msmin-idle: 0

创建Controller用来执行测试操作

package com.example.demo;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;@RestController
public class HelloController {@PostMapping("/save")public String saveName(String name, HttpSession session){session.setAttribute("name", name);return "8080";}@GetMapping("/get")public String getName(HttpSession httpSession){return httpSession.getAttribute("name").toString();}
}

Nginx 负载均衡

mingming@xiaoming-pc:~$ sudo apt-get install nginx

修改配置文件

upstream sang.com {server 192.168.0.1:8080 weight = 1;server 192.168.0.2:8080 weight = 1;
}server {listen  80;server_name localhost;location / {proxy_pass http://sang.com;proxy_redirect default;}}

请求分发

保存数据

获取数据

微信公众号

SpringBoot 实现Session共享相关推荐

  1. springboot实现session共享

    目录 应用场景 如何解决 (1)应用场景     session是指多个http请求共享的会话.如果我们后台只有一个服务器,则不存在共享问题,但是在分布式/集群项目中,Session 共享则是一个必须 ...

  2. SpringBoot 分布式Session共享

    一.在分布式开发时Nginx负载均衡时传统做法是 把session手动存到redis中 1.常用做法redis 客户端发起一个请求,这个请求到达nginx上之后被,nginx转发给tomcatA上,然 ...

  3. 【SpringBoot】18、SpringBoot中使用Session共享实现分布式部署

    前言:我们知道,在单体项目中,我们将用户信息存在 session 中,那么在该 session 过期之前,我们都可以从 session 中获取到用户信息,通过登录拦截,进行操作 但是分布式部署的时候, ...

  4. SpringBoot一个依赖搞定Session共享,没有比这更简单的方案了!

    作者:江南一点雨 微信公众号:牧码小子(ID:a_javaboy) 上一篇:推荐10个你不得不关注的NB技术公众号 有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你 ...

  5. java分布式会话redis_详解springboot中redis的使用和分布式session共享问题

    对于分布式使用Nginx+Tomcat实现负载均衡,最常用的均衡算法有IP_Hash.轮训.根据权重.随机等.不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomca ...

  6. C#session共享+redis_技术干货分享:基于SpringBoot+Redis的Session共享与单点登录

    categories: 架构 author: mrzhou tags: SpringBoot redis session 单点登录 基于SpringBoot+Redis的Session共享与单点登录 ...

  7. Springboot整合Websocket遇到的坑_websocket session不支持序列化,无法存储至redis_Websocket相关问题总结(Session共享,用户多端登录等)

    Springboot整合Websocket遇到的坑 一.使用Springboot内嵌的tomcat启动websocket 1.添加ServerEndpointExporter配置bean @Confi ...

  8. springboot配置shiro多项目实现session共享的详细步骤

    springboot配置shiro多项目实现session共享的详细步骤 公司需要这样的需求: 有两个项目master 主项目.suiteone 项目,两个项目各自由shiro 安全框架管理,当不能登 ...

  9. Springboot集成社交登录功能(微博登录)以及Session共享

    Springboot集成社交登录功能 pom <dependency><groupId>org.apache.httpcomponents</groupId>< ...

最新文章

  1. Java 线程 知识
  2. python多进程详解
  3. navicat对mysql的备份
  4. ssh-keygen
  5. 《图解机器学习-杉山将著》读书笔记---CH1
  6. python设置ini文件中的值_PyCharm设置python文件模板,自动读取文件信息。
  7. jQuery页面顶部下拉广告
  8. 第九十期:哪种人是软件设计中的稀缺型人才?
  9. C/C++中“空语句”的说明
  10. 【算法分析与设计】快速排序
  11. SQLite 增删改查
  12. oracle环境变量怎么配,oracle环境变量配置-Oracle
  13. wordpres报错sfile_exists() [function.file-exists]: File name is longer than the maximum allowed
  14. 7. F1方程式冠军
  15. Zabbix5.0监控CenterOS(RPM版)
  16. 查询活动开始时间和结束时间
  17. 双十二|Solidigm官方店铺 惊喜大放送 福利享不停
  18. C语言:实验11-1-2 输出月份英文名.2021-08-06
  19. 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
  20. 极客日报:2021年年终奖人均水平为2.3万元;消息人士回应华为自研浏览器内核传闻;Linux取消对a.out格式的支持

热门文章

  1. 获2017中国最佳创业投资机构百强,西高投二次创业实现超越
  2. Swift实现UIKit Dynamic动画
  3. 经常使用的正则表达式
  4. Linux Ubuntu jdk(环境变量)配置
  5. LabView中,下拉列表和枚举有什么区别?
  6. c# DataTable DataBinding 应用笔记
  7. WINDOWS下VIM配置
  8. matlab矩阵处理实验报告,matlab实验报告一二三
  9. java 注销变量_[ Java学习基础 ] Java对象的创建和销毁
  10. SpringMVC之源码分析--ThemeResolver(三)