찾다
Javajava지도 시간세션 공유를 실현하기 위해 Spring 세션과 Spring Boot를 통합하는 방법 소개

이 글은 세션 공유를 달성하기 위해 스프링 부트와 스프링 세션을 통합하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

최근에 스프링 부트를 사용하여 시스템을 개발했습니다. nginx는 로드 밸런싱을 수행하고 여러 Tomcat에 요청을 분산합니다. 이때 액세스 페이지는 처음 방문하는 경우 세션이 다른 서버에 분산됩니다. 서버 A에 배포된 후 세션은 서버 A에 저장되고, 다시 접속하면 서버 B에 로드 밸런싱이 분산됩니다. 그러면 처음 접속한 세션 정보는 이전 세션 정보를 얻을 수 없게 됩니다. 다행히도 스프링 세션이 있는데, 다음과 같이 간단한 구성으로 세션 공유를 수행할 수 있습니다.

1. pom에 jar 패키지를 도입합니다. 하지만 여기서 제 이름은 RedisSessionConfig.java

@입니다. EnableRedisHttpSession. 이 주석을 추가한 후에는 Spring의 인터셉터가 세션 공유 작업을 구현하는 데 사용되며 구성된 Bean은 구성에 따라 Spring이 Redis에 연결되도록 합니다.

SpringSession Redis에는 버전 2.8 이상이 필요하며 이벤트 알림을 활성화하려면 Redis 구성 파일에

<!-- Spring Boot Redis 依赖  -->
	<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>   
	
	<dependency>
	    <groupId>org.springframework.session</groupId>
	    <artifactId>spring-session-core</artifactId>
	</dependency>

를 추가하거나 다음 명령을 사용하여 이벤트 알림을 활성화하십시오.

notify-keyspace-events Ex  // 打开此配置,其中Ex表示键事件通知里面的key过期事件,每当有过期键被删除时,会发送通知

Redis가 유지 관리되지 않는 경우 예를 들어 Alibaba Cloud의 Redis 데이터베이스를 사용하고 있고(제 경우) 해당 구성을 변경할 수 없는 경우 다음 Java 구성 파일을 사용할 수 있습니다.

redis-cli config set notify-keyspace-events Egx

3. Redis 연결 구성

Spring Boot는 자동으로 RedisConnectionFactory를 생성하여 포트 6379(기본 포트)의 localhost에 있는 Redis 서버에 Spring 세션을 연결합니다. 프로덕션 환경에서는 Redis 서버

src/main/resources/application.properties

package org.spring.springboot.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.ConfigureRedisAction;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@Configuration
// maxInactiveIntervalInSeconds 默认是1800秒过期,这里测试修改为60秒
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 1800)
public class RedisSessionConfig {
	
	@Bean
	public static ConfigureRedisAction configureRedisAction() {
		return ConfigureRedisAction.NO_OP;
	}
}
를 가리키도록 구성을 업데이트해야 합니다.

위 내용은 세션 공유를 실현하기 위해 Spring 세션과 Spring Boot를 통합하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Spring Boot Actuator从未授权访问到getshell的示例分析Spring Boot Actuator从未授权访问到getshell的示例分析May 23, 2023 am 08:56 AM

前言部门大佬在某src上挖到了这个漏洞,是一个比较老的洞了,我觉得有点意思,就动手在本地搭了个环境测试一下。Actuator是springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看、统计等。在Actuator启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息,从而导致信息泄露甚至服务器被接管的事件发生。如上所示,actuator是springb

如何利用Spring Boot构建区块链应用和智能合约如何利用Spring Boot构建区块链应用和智能合约Jun 22, 2023 am 09:33 AM

随着比特币等数字货币的兴起,区块链技术也逐渐成为热门话题。而智能合约,则可视为区块链技术的重要组成部分。SpringBoot作为一种流行的Java后端开发框架,也能够用来构建区块链应用和智能合约。本文将介绍如何利用SpringBoot搭建基于区块链技术的应用和智能合约。一、SpringBoot与区块链首先,我们需要了解一些与区块链相关的基本概念。区块链

使用Spring Boot和Apache ServiceMix构建ESB系统使用Spring Boot和Apache ServiceMix构建ESB系统Jun 22, 2023 pm 12:30 PM

随着现代企业越来越依赖于各种不同的应用程序和系统,企业集成变得愈发重要。企业服务总线(ESB)就是一种集成架构模式,通过将不同系统和应用程序连接在一起,提供通用的数据交换和消息路由服务,从而实现企业级应用程序集成。使用SpringBoot和ApacheServiceMix,我们可以轻松构建一个ESB系统,这篇文章将介绍如何实现。SpringBoot和A

基于Spring Boot和MyBatis Plus实现ORM映射基于Spring Boot和MyBatis Plus实现ORM映射Jun 22, 2023 pm 09:27 PM

在Javaweb应用开发过程中,ORM(Object-RelationalMapping)映射技术用来将数据库中的关系型数据映射到Java对象中,方便开发者进行数据访问和操作。SpringBoot作为目前最流行的Javaweb开发框架之一,已经提供了集成MyBatis的方式,而MyBatisPlus则是在MyBatis的基础上扩展的一种ORM框架。

基于Spring Boot的分布式数据缓存和存储系统基于Spring Boot的分布式数据缓存和存储系统Jun 22, 2023 am 09:48 AM

随着互联网的不断发展和普及,数据的处理和存储需求也越来越大,如何高效且可靠地处理和存储数据成为了业界和研究人员的热门话题。基于SpringBoot的分布式数据缓存和存储系统是近年来备受关注的一种解决方案。什么是分布式数据缓存和存储系统?分布式数据缓存和存储系统是指通过多个节点(服务器)分布式地存储数据,提高了数据的安全性和可靠性,同时也可以提升数据的处理性

Spring Boot与NoSQL数据库的整合使用Spring Boot与NoSQL数据库的整合使用Jun 22, 2023 pm 10:34 PM

随着互联网的发展,大数据分析和实时信息处理成为了企业的一个重要需求。为了满足这样的需求,传统的关系型数据库已经不再满足业务和技术发展的需要。相反,使用NoSQL数据库已经成为了一个重要的选择。在这篇文章中,我们将讨论SpringBoot与NoSQL数据库的整合使用,以实现现代应用程序的开发和部署。什么是NoSQL数据库?NoSQL是notonlySQL

使用Spring Boot和JavaFX构建桌面应用程序使用Spring Boot和JavaFX构建桌面应用程序Jun 22, 2023 am 10:55 AM

随着技术的不断发展,我们现在可以使用不同的技术来构建桌面应用程序。而SpringBoot和JavaFX则是现在较为流行的选择之一。本文将重点介绍如何使用这两个框架来构建一个功能丰富的桌面应用程序。一、介绍SpringBoot和JavaFXSpringBoot是一个基于Spring框架的快速开发框架。它可以帮助开发者快速构建Web应用程序,同时提供一组开

Spring Boot的任务调度和定时任务实现方法Spring Boot的任务调度和定时任务实现方法Jun 22, 2023 pm 11:58 PM

SpringBoot是一款非常流行的Java开发框架,不仅具有快速开发的优势,而且还内置了很多实用的功能,其中,任务调度和定时任务就是其常用的功能之一。本文将探讨SpringBoot的任务调度和定时任务实现方法。一、SpringBoot任务调度简介SpringBoot任务调度(TaskScheduling)是指在特定的时间点或某个条件下,执行一些特

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경