分布式Session解决方案_Spring Session + Redis
接上一篇:分布式6大核心专题_分布式Session
https://gblfy.blog.csdn.net/article/details/113802195
文章目录
- 1. 安装redis服务并启动
- 2. 引入Spring Session组件
- 3. 分别启动8081端口和8082端口
- 4. 调用8081登录接口
- 5. 调用8081获取用户信息接口
- 6. 调用8082获取用户信息接口
实现流程:
1.安装redis服务并启动
2.引入Spring Session组件
3.演示同一程序启动8081端口和8082端口模拟2个服务器分布式
4.调用8081登录接口
5.调用8081获取用户信息接口
6.调用8082获取用户信息接口
1. 安装redis服务并启动
docker run -d -p 6379:6379 redis:5
2. 引入Spring Session组件
存放查信息的容器有redis、jdbc、mongodb等,演示redis容器
pom
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><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>
application.yml
spring:redis:host: 192.168.0.113 #ip地址port: 6379 #端口password: #密码session:store-type: redis #存放的容器timeout: 3600 #过期时间
server:port: 8081 #应用web端口
案例代码
package com.gblfy.distributedsession.controller;import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpSession;@RequestMapping("/user")
@RestController
public class UserController {@GetMapping("/login")public String login(@RequestParam String username,@RequestParam String password,HttpSession session){//账号密码正确session.setAttribute("login_user", username);return "登录成功";}@GetMapping("/info")public String info(HttpSession session) {return "当前登录的是:" + session.getAttribute("login_user");}
}
3. 分别启动8081端口和8082端口
同上一篇
4. 调用8081登录接口
#登录接口
http://localhost:8081/user/login?username=admin&password=admin
5. 调用8081获取用户信息接口
#获取用户信息接口
http://localhost:8081/user/info
6. 调用8082获取用户信息接口
#获取用户信息接口
http://localhost:8082/user/info
测试结论:可以正常获取用户信息,关闭8081服务器,也是一样的,因为用户信息存放在redis服务端,不在应用本地,除非把redis关闭。
分布式Session解决方案_Spring Session + Redis相关推荐
- dubbo分布式事务解决方案_spring boot 分布式事务解决方案
点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家 下一篇:这200G的Java实战资料是我师傅当年教 ...
- 面试官:Redis分布式锁解决方案是什么?
今天博主在这片文章中主要给大家讲下Redis分布式锁的原理以及解决方案 学到三连呦 1.Redis分布式锁原理 1.1.简述 我们知道分布式锁的特性是排他.避免死锁.高可用.分布式锁的实现可以通过数据 ...
- 【49.Auth2.0认证与授权过程-微博开放平台认证授权过程-百度开放平台认证授权过程-社交登录实现(微博授权)-分布式Session问题与解决方案-SpringSession整合-Redis】
一.知识回顾 [0.三高商城系统的专题专栏都帮你整理好了,请点击这里!] [1-系统架构演进过程] [2-微服务系统架构需求] [3-高性能.高并发.高可用的三高商城系统项目介绍] [4-Linux云 ...
- 4种分布式session解决方案
cookie和session的区别和联系 cookie是本地客户端用来存储少量数据信息的,保存在客户端,用户能够很容易的获取,安全性不高,存储的数据量小 session是服务器用来存储部分数据信息,保 ...
- Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- C#session共享+redis_Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享...
精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:夜月归途 转载自: https://www.cnblo ...
- 【分布式-session】spring boot + redis 实现session共享
1 为何需要Session共享? 因为每个应用容器默认是将Session存储在本地内存,仅容器本身可以访问,但是在分布式集群中,包含多个应用容器,一个用户请求会随机发送到容器上,比如,用户在A容器登陆 ...
- Spring Cloud——基于Dubbo的分布式Session解决方案
环境配置 spring boot 2.6.3 spring cloud 2021.0.1 spring cloud alibaba 2021.0.1.0 nacos server 2.0.4 dubb ...
- 分布式架构下,Session 共享有什么方案?
来自:会点代码的大叔 分布式架构下的 Session 共享,也称作分布式 Session 一致性:分布式架构下 Session 共享有哪些问题,又有哪些解决方案,让我们一起看一下. 01 Sessio ...
最新文章
- Android控件系统(三)——Window与WindowMananger
- mysql五补充部分:SQL逻辑查询语句执行顺序
- 1.VMware Workstation 12 中安装CentOS
- Python mysql 索引原理与慢查询优化
- bootloader搞定,1.67秒!
- springcloud 返回json
- Spring Boot定时任务-Job类对象注入
- grub4dos中的不容易理解的问题
- 默认方法:Java 8的无名英雄
- 进一步了解 apt-get 的几个命令
- Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?
- 转载--Defunct僵尸进程
- mysql数据库中更新数据表用以下哪一项_删除数据表用以下哪一项()_学小易找答案...
- python样条插值(二)
- Python,OpenCV制作全透明图,简单的图片
- 使用OpenCV中的imread()内存报错问题
- shell脚本实现俄罗斯方块
- 感叹之余随手记—他山之石,可以攻玉
- GShutDown:自动化关机鄙吝材
- 【区块链108将】BKFUND许超逸:Token为基金管理行业带来新的空白市场机会