springBoot整合Redis实现session共享(用nginx负载)

首先项目整体是springBoot+maven,所以需要添加依赖如下:

   <!-- redis-session 所需依赖 -->
        <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>

在启动类上添加注解

@EnableAutoConfiguration
@SpringBootApplication
@EnableRedisHttpSession  //开启spring session
public class Demo01Application {
    //http://localhost:8090
    public static void main(String[] args) {
        SpringApplication.run(Demo01Application.class, args);
    }
}
@EnableAutoConfiguration
@SpringBootApplication
@EnableRedisHttpSession  //开启spring session
public class Demo02Application {
    //http://localhost:8091
    public static void main(String[] args) {
        SpringApplication.run(Demo02Application.class, args);
    }
}

定义controller来测试,代码如下:

@RestController
public class Nginx01cr {
    @RequestMapping("nginx")
    public String ngnix01(HttpSession session) {
        return "请求的是nginx01,端口号是:" + 8090 + "session: " + session.getId();
    }
}
@RestController
public class Nginx02cr {
    @RequestMapping("nginx")
    public String ngnix02(HttpSession session) {
        return "请求的是nginx02,端口号是:" + 8091 + "session: " + session.getId();
    }
}

启动项目前记得开启redis服务!!!
在这里插入图片描述
这里用nginx进行轮询 nginx.conf配置文件如下 进入nginx根目录点击nginx.exe 即可运行

#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;
    
	#访问地址 http://localhost/nginx
	upstream redislock{
		server 127.0.0.1:8090;
		server 127.0.0.1:8091;
	}
	
    server {
        listen       80;
        server_name  localhost;

		location /nginx {
			#转发请求地址到redislock上 必要
            proxy_pass http://redislock;
        }
      
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

结果:
在网页输入 : http://localhost/nginx
请求的是nginx01,端口号是:8091session: e369f082-30fe-4624-a78b-f35605a454e2
应该是轮询交替出现的

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值