web开发常用的session共享方式

在日常的web开发过程中,Session共享有多种解决方式,常用的有以下几种:

1、基于cookie的共享

将session信息以加密的方式保存在客户端浏览器的cookie中,session信息会随每次请求再次提交到服务器上。

优点:

​ 可以减轻服务器端的压力。

缺点

​ cookie大小是有限制的,只能存储小部分用户信息;同时传输时,也会占用一部分带宽资源。另外这种方式在客户端禁用cookie的情况下会失效。

2、基于关系型数据库的共享

这种方式,是将session信息保存到关系型数据库中,例如mysql,其他应用从数据库中查出session信息。该方法有一定的实用性,但是缺点同样明显:

1)、session的并发、读写均从数据库中完成,对数据库性能要求较高。

2)、需要额外添加session失效逻辑,包括在数据库中更新和删除session信息。

这种方式对于可靠性要求较高的系统,可以采用,即使服务挂掉,也会保存当时的会话信息。

3、基于缓存服务器的session共享

将session统一存储到缓存服务器上,例如:Redis、Memcahe等。这样可以保证比较高的读、写性能,同时这些缓存服务器都有数据失效机制,从而避免第二种共享方式中的第二条缺点。

该共享方式,在缓存服务器重启的时候,里面保存的session也就丢失了,需要用户重新建立回话。不过,该问题可以通过搭建缓存集群来避免。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjU5GqX1-1598512374407)(images/image-20200827150433522.png)]

综上所述,建议采用第三种方式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值