redis

    스프링 세션 적용하기 (feat. filter)

    🔍 Session 정보 이용하기 ✏️ 1. 컨트롤러에서 HttpSession 클래스 이용하기 HttpSession 클래스를 파라미터로 받으면 session 정보를 사용할 수 있다. ✏️ 2. 필터 또는 인터셉터 이용하기 필자는 세션 정보를 거의 모든 요청 API에서 확인해야 한다. 따라서 Controller에서 session 정보를 불러오는 중복을 해결하기 위해 필터를 이용하였다. @Component class SessionFilter( private val redisSessionRepository: RedisSessionRepository, ): OncePerRequestFilter() { val log = logger() override fun doFilterInternal( request: Http..

    스프링 세션 - 이중 발급과, 인코딩된 세션

    🔍 트러블 슈팅 ✏️Key가 두 개 생성되는 문제 세션을 저장하는 로직은 다음과 같다. @Component class SessionFilter( private val redisSessionRepository: RedisSessionRepository, ): OncePerRequestFilter() { val log = logger() override fun doFilterInternal( request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain ) { val session = getSessionFromCookie(request) --- 1 if (session == null) { val sessionId = r..

    [프로젝트 기록] Redis 메인/레프리카 서버 만들기

    [프로젝트 기록] Redis 메인/레프리카 서버 만들기

    [ Redis 레프리카 서버 만들기 ] 이용하고 있던 Redis EC2의 이미지를 복제하여 새로운 인스턴스를 생성해주었다. 복제한 레디스의 정보를 확인해보자. redis-cli info Role설정이 master로 되어있는 것을 확인할 수 있다. 이를 replica로 설정해주자. replicaof (사설 IP) (포트번호) Ex ) replicaof 172.1.1.1 6379 다시 info를 입력하여 확인해보면 slave로 바뀐 것을 확인할 수 있다. 하지만 master_link_status: down임을 확인할 수 있다. /var/log/redis/redis-server.log의 기록을 살펴보면 다음과 같이 Connection refused가 발생하고 있음을 알 수 있다. 3291:S 11 Nov 20..