转自:https://idig8.com/2018/09/02/xiaochengxujavashizhanjava-sesiondezhuangtaihuihuayuwuzhuangtaihuihua38/

我相信大家在参与web开发的时候,肯定会遇到session,其实在平常的开发过程中,用到的session都是有状态的session。

有状态的session

正常的web开发,每次来一个用户就会产生一个session,在客户端会受到sessionId的概念,每个用户有个独立的session会话,如果100个用户进来就会产生100个session的会话。如果这个会话消失了,用户的没有在访问我们的网站,这就是我们日常使用最多的会话,成为有状态会话。

 

无状态的session

上边说了有状态,相对而言肯定是有无状态session的存在。除去混合开发的模式,直接原生的安卓,ios,小程序开发他们访问直接地址的时候就存在无状态session。他们这种会话是无法维系用户和系统之间的关系的。他们访问一次获取后就断开了连接。每次都是一个新的会话。这种我们必须在后端做一系列的控制,来维系用户和系统之间的关系。tomcat等容器无法做到的话。我们就要使用内存redis来完成。

Redis-session

用户在访问的时候会产生一个user-redis-session,把用户的信息json的形式保存在redis里面,我们也可以给redis增加失效时间,不管是单支和集群redis,对用户来说都是无感知的。

  • 好处
    >用户信息存储到redis缓存中,形成无状态会话。方便管理
    >便于扩展,当单体应用该扩展成集群。
    >便于权限验证。

PS:下次使用redis建立无状态的session。

posted on 2019-01-21 02:27  Sharpest  阅读(397)  评论(0编辑  收藏  举报