当前位置:网站首页>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 流程图:

边栏推荐
猜你喜欢
随机推荐
张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
【正点原子STM32连载】第四章 STM32初体验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
LeetCode581+621+207
[Punctuality Atom STM32 Serial] Chapter 4 STM32 First Experience Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
有坦荡的远方
IDEA 自动导入的配置(Auto import)
oracle sql multi-table query
今日睡眠质量记录71分
【无标题】
数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
SQL后计算的利器
VRRP+MSTP配置详解【华为eNSP实验】
2022 Cloud Native Computing代表厂商 | 灵雀云第三次入选Gartner中国ICT技术成熟度曲线报告
sync-diff-inspector 使用实践
命里有时终须有--记与TiDB的一次次擦肩而过
外包干了四年,秋招终于上岸了
MindSpore:损失函数问题
Ansible deployment scripts - pro available without pit
Detailed explanation of telnet remote login aaa mode [Huawei eNSP]
下午14:00面试,14:08低着头出来了 ,问的实在是太...









