我相信大家在参与web开发的时候,肯定会遇到session,其实在平常的开发过程中,用到的session都是有状态的session。
目前创新互联已为千余家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器托管、企业网站设计、赫山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
正常的web开发,每次来一个用户就会产生一个session,在客户端会受到sessionId的概念,每个用户有个独立的session会话,如果100个用户进来就会产生100个session的会话。如果这个会话消失了,用户的没有在访问我们的网站,这就是我们日常使用最多的会话,成为有状态会话。
上边说了有状态,相对而言肯定是有无状态session的存在。除去混合开发的模式,直接原生的安卓,ios,小程序开发他们访问直接地址的时候就存在无状态session。他们这种会话是无法维系用户和系统之间的关系的。他们访问一次获取后就断开了连接。每次都是一个新的会话。这种我们必须在后端做一系列的控制,来维系用户和系统之间的关系。tomcat等容器无法做到的话。我们就要使用内存redis来完成。
用户在访问的时候会产生一个user-redis-session,把用户的信息json的形式保存在redis里面,我们也可以给redis增加失效时间,不管是单支和集群redis,对用户来说都是无感知的。
好处
>用户信息存储到redis缓存中,形成无状态会话。方便管理
>便于扩展,当单体应用该扩展成集群。
>便于权限验证。
PS:下次使用redis建立无状态的session。