当前位置:网站首页>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 流程图:
边栏推荐
猜你喜欢
MySQL binlog都有哪些模式?
【云驻共创】HCSD 大咖直播–就业指南
三层交换机/路由器OSPF配置详解【华为eNSP实验】
去掉js代码文件所有注释
No module named 'flask_misaka' has been resolved [BUG solution]
【正点原子STM32连载】第一章 本书学习方法 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
双指针方法
Producer and Consumer Problems in Concurrent Programming
基于cRIO-904X搭建Simulink与Labview环境
[Punctuality Atom STM32 Serial] Chapter 2 STM32 Introduction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
随机推荐
VRRP + MSTP configuration, huawei eNSP experiment 】 【
使用ClickHouse分析COS的清单和访问日志
VRRP+MSTP配置详解【华为eNSP实验】
【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
Producer and Consumer Problems in Concurrent Programming
《福格行为模型》:如何养成好习惯?
leetcode二叉树系列(一)
学习在微信小程序中判断url的文件后缀格式
leetcode经典例题——56.合并区间
It is found that several WRH tables are locked, what should I do?
Cloud function to achieve automatic website check-in configuration details [Web function/Nodejs/cookie]
oracle sql multi-table query
已解决No module named ‘flask_misaka‘【BUG解决】
Unity3D data encryption
【正点原子STM32连载】第一章 本书学习方法 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
Fiddler(二)-手机抓包502错误解决方法
Shared_preload_libraries cause many syntaxes not supported
SQL后计算的利器
MindSpore:MindSpore GPU版本安装问题
Win11不识别蓝牙适配器的解决方法