介绍
在集群项目中如果使用到session,就需要考虑如何时session在各个服务器节点保持一致,其实在和很多项目中都使用token,token简单来说有点有点像session的sessionI的,存放于redis缓存中,srping session管理其实也是一样,会将会话信息存放在redis中管理。下面我们介绍使用办法
springBoot session 分布式解决方案
pom.xml
<!--spring session 与redis应用基本环境配置,需要开启redis后才可以使用,不然启动Spring boot会报错 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
application.yml
#### 整合freemarker
spring:
application:
name: app-huakai-portal-web
session:
store-type: redis #指定redis实现spring session
timeout: 500 # Session 过期时间,单位s
redis: # 配置redis地址
host: 127.0.0.1
port: 6379
nginx配置文件
负载均衡相关配置文件
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backServer{
server 192.168.18.220:8080;
server 192.168.18.220:8081;
}
server {
listen 80;
server_name shop.huakaibai.com;
location / {
proxy_pass http://backServer;
index index.html index.htm;
}
}
}
总结
上面就是使用spring session管理的框架的全部配置,配置完springsession后,Httpsession使用就和你平常使用时是一样,springsession管理框架会自动将session信息存放到redis中去管理。
没错用框架就是这么简单。