Redis 없이 Spring Boot 세션을 사용할 수 있습니까?
스프링 부트 문서를 보니 레디스와의 세션을 사용하는 예시만 발견되었는데, 레디스 없이도 사용이 가능합니까?
다른 답변에서 언급한 바와 같이:예, 세션 지속성 백엔드를 변경하여SessionRepository
실행.
그리고 Spring-Session에서 제공하는 기본 제공 대안이 있습니다.MapSessionRepository
세션을 저장할 수 있습니다.Map
.
스프링 세션의 표본에는 Hazelcast를 지속성 백엔드로 사용하는 표본이 있습니다.위에서 언급한 내용을 활용하고 있습니다.MapSessionRepository
와 함께Map
Hazelcast에서 생성한 인스턴스입니다.
제가 이 질문에 조금 늦었다는 것은 알지만, 다른 사람들이 이 질문을 발견할 경우를 대비해 글을 올립니다.
Spring Session 1.2.0부터는 다음과 같이 사용할 수 있는 JDBC 세션 저장소가 내장되어 있습니다.
@Configuration
@EnableJdbcHttpSession // default session length and DB table name can be included on the annotation
public class SessionConfiguration {
// code goes here if needed
}
Spring Session JAR에서 org.spring 프레임워크입니다.session.jdbc 패키지에는 다양한 DBMS(MySQL, Postgre 등)에 대한 테이블 구조를 만드는 SQL 스크립트가 있습니다.
JDBC 기능은 Spring Session 1.2.0 마일스톤 릴리즈에서 사용하기 시작했지만 문제가 없었습니다.
세션을 저장할 모든 기술을 사용할 수 있습니다.스프링 세션은 인터페이스를 제공합니다.SessionRepository
세션을 저장하고 검색하기 위해 구현해야 합니다.스토리지 기술을 사용하여 해당 인터페이스의 구현을 생성하고 해당 구현을 Springbean으로 구성하기만 하면 됩니다.
봄 세션을 Redis, JDBC 등에 저장하는 아이디어는 컨테이너에 저장된 http 세션을 제거하는 것입니다(예:Tomcat).http 세션이 컨테이너에 저장되면 클러스터/클라우드 환경에서 컨테이너 간에 세션을 공유하는 것이 번거로워집니다.로드 밸런싱을 사용할 수 없습니다.분산, 인메모리, 캐시 등을 지원하는 모든 f/w는 스프링 세션 저장을 고려할 수 있습니다.
배포 아키텍처에 컨테이너가 많은 경우 jdbc로 이동합니다. 그렇지 않으면 데이터베이스 하나만 redis해도 됩니다.
Oracle Caching Framework 참조 https://docs.oracle.com/cd/A97335_02/caching.102/a88706/ic_intro.htm
언급URL : https://stackoverflow.com/questions/33380509/is-it-possible-to-use-spring-boot-session-without-redis
'sourcecode' 카테고리의 다른 글
불만족스러운 종속성 예외:이름이 'entityManagerFactory'인 빈을 생성하는 동안 오류가 발생했습니다. (0) | 2023.07.13 |
---|---|
저장한 파일로 패치를 포맷하려면 어떻게 해야 합니까? (0) | 2023.07.13 |
Varchar2와 char의 주요 차이점은 무엇입니까? (0) | 2023.07.13 |
mongo ab에 연결할 수 없습니다. MongoError: 인증 실패 (0) | 2023.07.13 |
Excel에서 지정된 이미지 URL에 이미지를 표시하는 방법 (0) | 2023.07.13 |