• 如何实现session的共享?


    1、以cookie加密的方式保存在客户端.

      优点是减轻服务器端的压力

      缺点是受到cookie的大小限制,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户禁止使用cookie的情况下无效

    2、服务器间同步。定时同步各个服务器的session信息,此方法可能有一定延时,用户体验也不是很好

    3、基于Cookie的Session共享

    这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式,统一种植在根域名下(如:.host.com),利用浏览器访问该根域名下的所有二级域名站点时,会传递与之域名对应的所有Cookie内容的特性,从而实现用户的Cookie化Session 在多服务间的共享访问。

    优点无需额外的服务器资源;

    缺点是由于受http协议头信心长度的限制,仅能够存储小部分的用户信息,同时Cookie化的 Session内容需要进行安全加解密,另外它也会占用一定的带宽资源,因为浏览器会在请求当前域名下任何资源时将本地Cookie附加在http头中传递到服务器。

    4、 基于数据库的Session共享

    首选当然是大名鼎鼎的MySQL数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普遍在使用,它的缺点在于session的并发读写能力取决于Mysql数据库的性能,同时需要自己实现session淘汰逻辑,以便定时从数据表中更新、删除 session记录,当并发过高时容易出现表锁,虽然我们可以选择行级锁的表引擎,但不得不否认使用数据库存储Session还是有些杀鸡用牛刀的架势。

  • 相关阅读:
    第十周博客总结
    校验码
    python-第五章习题
    python 课后习题 猜数游戏
    python 数据分析师
    python opencv图像的均值滤波、中值滤波和高斯滤波
    RPC原理及RPC实例分析
    eclipse Android创建相对布局和线性布局,主界面跳转
    python 安装opencv库的方法及图像边缘检测例子
    第三周博客总结
  • 原文地址:https://www.cnblogs.com/Lzf127/p/8883169.html
Copyright © 2020-2023  润新知