ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 6월 14일 수요일 TIL 회고록
    카테고리 없음 2023. 6. 14. 22:34

    싱글톤 방식의 주의점

    • 싱글톤 패턴이든, 스프링 같은 싱글톤 컨테이너를 생성하든, 객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지(stateful)하게 설계하면 안된다.
    • 무상태(stateless)로 설계해야 한다.
      • 특정 클라이언트에 의존적인 필드가 있으면 안된다.
      • 특정 클라이언트가 값을 변경할 수 있는 필드가 있으면 안된다.
      • 가급적 읽기만 가능해야 한다.
      • 필드 대신에 자바에서 공유되지 않는 지역변수, 파라미터, ThreadLocal 등을 사용해야 한다.
    • 스프링 빈의 필드에 공유 값을 설정하면 정말 큰 장애가 발생할 수 있다.

    Redis를 사용하기 위해 개인 프로젝트에 bulid.gradle에 Redis 의존성을 추가해주었다.

        // Redis
        implementation 'org.springframework.boot:spring-boot-starter-data-redis'

     

    그 후 Docker를 사용해서 Redis를 실행했다.

    포트는 6379로 지정했다. 터미널로 Redis 서버가 잘 실행되었는지 확인해보았다.

    docker exec -it (레디스 이름) redis-cli

    127.0.0.1:6379로 Redis 서버에 잘 들어가진다.

     

    application.properties에도 Redis 프로퍼티를 추가해주었다.

    spring.redis.host=localhost		# 레디스 서버 호스트 지정 (defaut: localhost)
    spring.redis.port=6379			# 레디스 서버 포트 (defaut: 6379)

     

    Redis 세팅은.. 내일 구글링을 하면서 알아봐야겠다.

    내가 해보고 싶은것은 Redis 설정과 리프레시 토큰 구현하기인데.. 열심히 구글링을 하며 만들어봐야겠다.

Designed by Tistory.