session共享的几种方案

1,371 阅读1分钟

1)cookie加密的方式保存在客户端

优点:减轻服务器端压力

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

2)服务器间同步

比如tomcat集群:通过配置tomcat,实现session共享。 每个tomcat都会在局域网中广播自己的session信息,同时监听其他tomcat广播的session,一旦自己的session发生变化,其他的tomcat能够感知到的,同时就可以同步自己的session和它一样。

缺点:当集群服务器数量比较大如200台,每一台服务器的tomcat都需要广播自己的session,同时监听另外199台,此时,服务器的大量资源都用来处理session同步的事情,用户正常的访问就会受到影响。 要视部署的tomcat集群数量等来定是否使用这种方式。

3)基于分布式缓存的session共享机制

如使用redis取代session保存用户信息,这种方式比较常用