最新SpringBoot中,如何使用Session共享实现分布式部署-,字节Java高级岗

最后总结

搞定算法,面试字节再不怕,有需要文章中分享的这些二叉树、链表、字符串、栈和队列等等各大面试高频知识点及解析

最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-web org.springframework.session spring-session-data-redis

二、配置 Redis

我们需要借助 redis 实现 session 共享,所以我们需要在配置文件中配置 redis 的信息

server:
port: 8080

spring:
redis:
host: 127.0.0.1
port: 6379
database: 0
password:

我们配置了该项目的端口,以及 redis 的连接信息

三、写接口

package com.zyxx.session.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

@RestController
public class DemoController { /**

  • 获取项目端口
    / @Value(“${server.port}”)
    private String port; /
    *
  • 将信息存放在session中
    / @GetMapping(“set”)
    public String set(HttpSession session) {
    session.setAttribute(“user”, “hello world~~~”);
    return port;
    } /
    *
  • 从session中获取信息
    */ @GetMapping(“get”)
    public String get(HttpSession session) {
    return session.getAttribute(“user”) + " : " + port;
    }
    }

我们写了一个 set,一个 get 方法,将信息存放在 session 中,从 session 中取出信息

四、打包测试

image

启动项目,分别启动在两个端口:

java -jar .\session-0.0.1-SNAPSHOT.jar --server.port=8080
java -jar .\session-0.0.1-SNAPSHOT.jar --server.port=8081

分别启动在 8080,8081端口

访问:http://localhost:8080/set

image.png

我们从 8080 端口,将信息保存在 session 中

我们访问:http://localhost:8081/get

image.png

我们在 8081 端口的项目中从 session 中取出了内容:hello world~~~

由此证明,我们的 session 共享已经成功

五、分布式部署

下面我们借助 nginx 代理转发访问这两个项目

1、配置转发

nginx 配置文件如下:

image

主要配置内容:

upstream helloworld{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
}

我的面试宝典:一线互联网大厂Java核心面试题库

以下是我个人的一些做法,希望可以给各位提供一些帮助:

整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

image

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

image

还有源码相关的阅读学习

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot实现Redis作为Session共享的步骤如下: 1. 添加Redis依赖:在`pom.xml`文件添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 2. 配置Redis连接信息:在`application.properties`(或`application.yml`)文件添加Redis连接信息: ```properties spring.redis.host=127.0.0.1 spring.redis.port=6379 ``` 3. 配置Session管理:创建一个配置类,例如`RedisSessionConfig.java`,并添加以下代码: ```java @Configuration @EnableRedisHttpSession public class RedisSessionConfig { @Bean public LettuceConnectionFactory connectionFactory() { return new LettuceConnectionFactory(); } } ``` 这里使用了Lettuce作为Redis客户端。 4. 启用Session共享:在`application.properties`(或`application.yml`)文件添加以下配置: ```properties spring.session.store-type=redis ``` 这将启用Redis作为Session存储。 5. 使用Session:通过注入`HttpSession`对象来使用Session,例如: ```java @Controller public class MyController { @GetMapping("/example") public String example(HttpSession session) { session.setAttribute("key", "value"); String value = (String) session.getAttribute("key"); // 其他操作... return "example"; } } ``` 这样就可以在不同的请求之间共享Session数据。 以上是在Spring Boot实现Redis作为Session共享的基本步骤。你可以根据自己的需求进行配置和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值