SpringBoot 如何实现Session共享

网友投稿 265 2022-11-24


SpringBoot 如何实现Session共享

HttpSession,是通过Servlet容器创建并进行管理的,创建成功以后将会保存在内存中,这里将会使用Redis解决session共享的问题。

创建项目

添加pom

添加相关的maven

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.3.1.RELEASE

com.example

demo

0.0.1-SNAPSHOT

demo

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-data-redis

2.3.1.RELEASE

io.lettuce

lettuce-core

6.0.0.M1

redis.clients

jedis

3.3.0

org.springframework.session

spring-session-data-redis

2.3.0.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.3.1.RELEASE

com.example

demo

0.0.1-SNAPSHOT

demo

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-data-redis

2.3.1.RELEASE

io.lettuce

lettuce-core

6.0.0.M1

redis.clients

jedis

3.3.0

org.springframework.session

spring-session-data-redis

2.3.0.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

org.springframework.boot

spring-boot-maven-plugin

配置redis连接

配置redis连接

spring:

redis:

database: 0

host: 106.53.115.12

port: 6379

password: 12345678

jedis:

pool:

max-active: 8

max-idle: 8

max-wait: -1ms

min-idle: 0

创建Controller用来执行测试操作

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

@RestController

public class HelloController {

@PostMapping("/save")

public String saveName(String name, HttpSession session){

session.setAttribute("name", name);

return "8080";

}

@GetMapping("/get")

public String getName(HttpSession httpSession){

return httpSession.getAttribute("name").toString();

}

}

Nginx 负载均衡

mingming@xiaoming-pc:~$ sudo apt-get install nginx

修改配置文件

upstream sang.com {

server 192.168.0.1:8080 weight = 1;

server 192.168.0.2:8080 weight = 1;

}

server {

listen 80;

server_name localhost;

location / {

proxy_pass http://sang.com;

proxy_redirect default;

}

}

请求分发

保存数据

获取数据

以上就是SpringBoot 如何实现Session共享的详细内容,更多关于SpringBoot 实现Session共享的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HelloSpringMVC注解版实现步骤解析
下一篇:Javassist如何操作Java 字节码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~