当前位置:网站首页>redis解决分布式session问题
redis解决分布式session问题
2022-08-04 09:23:00 【鱼子酱:P】
- a、什么是session
session是一种会话技术,我们知道http是无状态协议的,就是这次连接传输数据后,下次连接服务器是不知道这次的请求是谁的,因此我们要做一个标记,让服务器知道每次请求是哪个(客户端)浏览器发出的,就是请求的时候服务器会创建一个session把session的值保存在服务器,把sessionID返回给浏览器,请求的时候把sessionID放在请求头中,这样服务器解析之后就能发现是哪个浏览器发来的请求
- b、session存放在什么地方,会引起什么问题
session是存在服务器的,只是把sessionID返回给浏览器。这样我们把浏览器关掉,session也不会实现,但是只是丢失了sessionID,这样也是访问不到的。
- c、session的工作原理
session是由服务器创建的,存放在服务器中,把sessionID返回给浏览器,请求的时候,每次请求把sessionID就到请求头中,服务器解析以后就知道是哪个浏览器
- e、分布式session是什么
我们知道session是保存在服务器的,这样当我们的项目做了负载均衡以后,如果在session中存了数据,那么就有可能有有些项目取不到session中的数据,这就是分布式session问题
通常我们在开发后台管理系统时,会使用 Session 来保存用户的会话(登录)状态,这些 Session 信息会被保存在服务器端,但这只适用于单系统应用,如果是分布式系统此模式将不再适用。
例如用户一的 Session 信息被存储在服务器一,但第二次访问时用户一被分配到服务器二,这个时候服务器并没有用户一的 Session 信息,就会出现需要重复登录的问题,问题在于分布式系统每次会把请求随机分配到不同的服务器。
分布式系统单独存储 Session 流程图:
因此,我们需要借助 Redis 对这些 Session 信息进行统一的存储和管理,这样无论请求发送到那台服务器,服务器都会去同一个 Redis 获取相关的 Session 信息,这样就解决了分布式系统下 Session 存储的问题。
分布式系统使用同一个 Redis 存储 Session 流程图:
边栏推荐
- 记录十条工作中便利的API小技巧
- After four years of outsourcing, the autumn recruits finally landed
- 【正点原子STM32连载】第三章 开发环境搭建 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- TCP的四次挥手
- LeetCode简单题之最好的扑克手牌
- Win11不识别蓝牙适配器的解决方法
- 学习在微信小程序中判断url的文件后缀格式
- Oracle怎么获取当前库或者同一台服务器上某几个库的数据总行数?
- How Oracle for current library or certain library data on the same server number?
- MindSpore:MindSpore GPU版本安装问题
猜你喜欢
ps抠图怎么抠出来,自学ps软件photoshop2022,ps怎么抠出想要的部分-笔记记录
并发编程之生产者和消费者问题
VRRP+MSTP配置详解【华为eNSP实验】
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
MindSpore:MindSpore GPU版本安装问题
架构设计杂谈
MindSpore:model.train中的dataset_sink_mode该如何理解?
MindSpore:mirrorpad算子速度过慢的问题
Producer and Consumer Problems in Concurrent Programming
【云驻共创】HCSD 大咖直播–就业指南
随机推荐
【云驻共创】HCSD 大咖直播–就业指南
Layer 3 Switch/Router OSPF Configuration Details [Huawei eNSP Experiment]
三层交换机配置MSTP协议详解【华为eNSP实验】
Inheritance and the static keyword
MATLAB绘图总结
Four common methods of network attacks and their protection
The separation configuration Libpq is supported, speaking, reading and writing
Fiddler(二)-手机抓包502错误解决方法
蘑菇书EasyRL学习笔记
LVGL的多语言转换工具--字体设置的好助手
Redis 内存满了怎么办?这样置才正确!
获取cpu的核数
Detailed explanation of MSTP protocol configuration on Layer 3 switches [Huawei eNSP experiment]
tcp连接的细节
加降息与BTC流动性事件策略研究
I am 37 this year, and I was rushed by a big factory to...
2022 Cloud Native Computing代表厂商 | 灵雀云第三次入选Gartner中国ICT技术成熟度曲线报告
ISO14443A读卡流程(作为示例参考)
VRRP + MSTP configuration, huawei eNSP experiment 】 【
NAT/NAPT地址转换(内外网通信)技术详解【华为eNSP】