redis——(8)实现分布式集群环境session共享
多机器部署同一套服务(多机器部署同一套代码),性能更好,更承受更高的用户并发
1、cookie与session
1)
Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息,我们可以看到在服务器写的cookie,会通过响应头Set-Cookie的方式写入到浏览器
2)HTTP协议是无状态的,并非TCP一样进行三次握手,对于一个浏览器发出的多次请求,WEB服务器无法区分是不是来源于同一个浏览器。所以服务器为了区分这个过程会通过一个
sessionid来区分请求,而这个sessionid是怎么发送给服务端的呢。cookie相对用户是不可见的,用来保存这个sessionid是最好不过了
2、redis实现分布式集群配置过程:
1)<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2) @EnableRedisHttpSession 开启redis session缓存
3)maxInactiveIntervalInSeconds指定缓存的时间
(DataSourceConfig数据源配置)
keys *
spring:session:sessions:expires:+‘sessionId’的过期时间
3、验证过程
打开隐身模式清空cookie来验证缓存的时间
没刷新一次浏览器 session的过期时间都会刷新