Web的session需要存在那里?

历史了解

  1. 首先最开始时期这段时间,人们上网的主要工具就是电脑,这时候对服务器的访问需求并不是很高,所以大部分公司采用的都是以下这种单链的方式,这样在访问人数较少的时候还好,但是一旦访问的请求过多时,处理业务的部分的服务器就扛不住了
    在这里插入图片描述
  2. 随着移动端的手机平板这些设备的出现,像之前那样单链格式的服务器已经无法承受那么大的访问压力了,这时候人们采取的多台服务器来进行负载均衡,大概如下图所示
    在这里插入图片描述
    但是这种方法虽然减轻了服务器的压力却带来了一个新的问题,那就是用户的session要存放在哪里呢?
    人们为了解决这个问题考虑了好几种方法,以下是常见的四种方法缺点

第一种_放在cookie中

缺点

  1. 不安全,因为是放在客户端上,很明显是不安全的,而且容易照成用户信息泄露
  2. 网络负担效率低,因为当服务器需要使用时需要向客户端进行获取,进行一次操作要比以前多出好几次请求和相应,增加了网络方面上的负担

第二种_放在文件服务器(数据库)中

缺点

  1. 会产生大量的IO效率问题,因为保存在这里的数据都是写在硬盘上的,每次的使用都会进行IO操作,这样的效率较为低下,而且主义的是这不仅仅是要保存一个用户的session,是所有用户的session

第三种_每台服务器都复制一份Session

缺点

  1. Session数据冗余,因为同一个用户在一个操作里的session数据大部分情况都是相同的,进行大量的复制会照成数据的冗余
  2. 服务器节点越多冗余越大

第四种_存放在缓存数据库

缓存简单来说就是存放在内存中,减少了IO操作,这种方式下速度快,而且数据结构简单(非关系型数据库)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值