基于cookie传输sessionid:java tomcat容器session实现
对于传统实现,我们经常会用cookie来传输session,将登录状态等信息传到request的session中。
基于token传输类似sessionid:java代码session实现
在移动端或是很多浏览器会禁用cookie,导致通过cookie不奏效,因此出现了基于token的方式。具体实现后面再说。
对于分布式会话,又有了新的方式:
基于cookie传输sessionid:java tomcat容器session实现迁移到redis
基于token传输类似sessionid:java代码session实现迁移到redis
这是由于分布式架构时,session都存在自己机器的内存上,所以多台机器的时候,session是不共享的。为了解决这个,就是用redis。
首先安装一下:
首先wget http://download.redis.io/releases/redis-5.0.8.tar.gz命令下载。
然后chmod -R 777 redis-5.0.8.tar.gz
然后tar -xvzf redis-5.0.8.tar.gz解压
进入目录后./configure生成配置
make进行编译
make install安装redis
进入src后执行./redis-server启动
接下来还需要改下配置:
这做是为了让内网的其他服务器可以访问到这个reids。 这样,后台绑定的ip就变了
然后去应用服务器上添加配置:
加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.0.5.RELEASE</version>
</dependency>
下面这个依赖可以让spring对session的管理方式存到redis中。