spring boot와redis 세션 공유 강좌 구현
Spring Boot 빠른 시작 자습서
Spring Boot 빠른 시작 가이드
이번에 가져온 것은springboot+redis가 세션 공유를 실현하는 강좌입니다.
spring boot 문서에서 @EnableRedisHttpSession 을 추가하여 spring session 지원을 시작합니다. 설정은 다음과 같습니다.
@Configuration
@EnableRedisHttpSession
public class RedisSessionConfig {
}
@EnableRedisHttpSession 이 주석은 spring-session-data-redis에서 제공한 것이기 때문에pom.xml 파일에 추가:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
다음은 응용 프로그램에 필요합니다.properties에서 redis 서버의 위치를 설정했습니다. 여기서 우리는 이 컴퓨터를 사용합니다.
spring.redis.host=localhost
spring.redis.port=6379
이렇게 해서 가장 간단한springboot+redis가 세션 공유를 실현하면 완성됩니다. 다음은 테스트를 진행하겠습니다.우선 두 개의tomcat 서비스를 시작합니다. 포트는 각각 8080과 9090입니다. 응용 프로그램에서.properties에서 설정 [다운로드 주소]:
server.port=8080
다음 컨트롤러를 정의합니다.
@RestController
@RequestMapping(value = "/admin/v1")
public class QuickRun {
@RequestMapping(value = "/first", method = RequestMethod.GET)
public Map<String, Object> firstResp (HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
request.getSession().setAttribute("request Url", request.getRequestURL());
map.put("request Url", request.getRequestURL());
return map;
}
@RequestMapping(value = "/sessions", method = RequestMethod.GET)
public Object sessions (HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
map.put("sessionId", request.getSession().getId());
map.put("message", request.getSession().getAttribute("map"));
return map;
}
}
시작 후 액세스 테스트를 진행합니다. 먼저 8080 포트의tomcat에 방문하여 [다운로드 주소]를 가져옵니다.
{"request Url":"http://localhost:8080/admin/v1/first"}
이어서 8080 포트의 세션을 방문하여 돌아갑니다.
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":http://localhost:8080/admin/v1/first}
마지막으로 9090 포트의 세션에 다시 액세스하여 다음을 반환합니다.
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":http://localhost:8080/admin/v1/first}
이를 통해 알 수 있듯이 8080은 9090 두 서버가 결과를 반환하는 것과 같이session의 공유를 실현했다9090 포트의first에 다시 액세스하면 다음을 수행합니다.
{"request Url":"http://localhost:9090/admin/v1/first"}
두 서버의 세션은 모두 반환됩니다.
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":"http://localhost:9090/admin/v1/first"}
springboot+redis를 통해session의 공유를 실현하는 것은 매우 간단하고 용도도 매우 크며nginx와 부하 균형을 맞추면 분포식 응용을 실현할 수 있다.이번 redis는 주종, 읽기, 쓰기 분리 등 설정을 하지 않았습니다(_(:з」∠)_사실은 블로거가 게으르다. 아직 시도해 본 적이 없다...)
그리고nginx의 단일 고장도 우리가 응용하는 장애물이다...앞으로 이번 블로그에 대한 개선 버전이 있을 수 있습니다. 예를 들어zookeeper를 사용하여 부하 균형을 맞출 수 있으니 기대해 주십시오.
자, 이만 마치겠습니다. 상술한 것은 편집자가 여러분께 소개해 드린spring boot과redis가 세션 공유 강좌를 실현하는 것입니다. 여러분께 도움이 되었으면 합니다. 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 답장을 드리겠습니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.