springboot:分布式项目多台机器-session共享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38750084/article/details/86707909

项目上线,service和web分别部署在不同机器,并且每个都做了负载。所以要做session共享。

LoginController 新增代码: 

 @CrossOrigin
    @RequestMapping(value="/user/tologinpage",produces={"application/json;charset=UTF-8"})
    public String toLoginPage(HttpServletRequest request, @RequestBody String jsonStr) {
        //

        String userName = JsonUtil.getField(jsonStr,"userName",String.class);
        String password = JsonUtil.getField(jsonStr,"password",String.class);
        List<SysUserEntity> list = sysUserRepository.findAll();
        StringBuilder sb = new StringBuilder();
        if(null != list || list.size() > 0){
            for (SysUserEntity e:list) {
                sb.append("用户="+e.getUserName()+";");
            }
        }
        return sb.toString() ;
    }

配置文件新增:

# 服务端口
spring.redis.database=0
spring.redis.host=10.22.0.211
spring.redis.port=6379
spring.redis.password=
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=5000
#session存储类型
spring.session.store-type=redis
#设置session超时时间
server.session.timeout=2000

web的pom新增依赖: 

<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>
        </dependency>

猜你喜欢

转载自blog.csdn.net/weixin_38750084/article/details/86707909