inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편

세션 로그인 ▶︎ 구현과 동작

강의를 듣던 중 궁금한 점 있어요

해결된 질문

102

SPRING

작성한 질문수 4

1

수업 챕터

14. 세션 로그인 ︎ 구현과 동작

에서 6분 35초쯤에

 

Docker 에서 Redis Container 로 진입하시고

/data # redis-cli

명령을 작성하실 때,

 

원래는 이런 명령어를 사용하시면 안된다고 하시는데

그럼 원래는 무슨 명령어를 사용하는지 궁금하네요

 

 

postgresql spring-boot dbms/rdbms redis s3

답변 1

1

한조각

안녕하세요 SPRING 님!

 

redis-cli 에서 사용한 keys * 명령어를 사용하시면 안된다고 말씀드린 부분입니다. (다시 들어보니 말하는 타이밍이 조금 오해가 있을 수 있을 것 같습니다! 영상 이해에 방해가 되었다면 죄송합니다.)

추가로 설명드리면,
keys * 는 모든 키를 전부 스캔해서 결과를 한 번에 반환하는 명령입니다.
위 명령어를 사용하시게 되면 redis 는 대부분 명령을 단일 스레드로 처리하기 때문에 키가 수천만개 이상 아주 많은 경우, 다른 모든 요청이 대기하는 상태가 되게 됩니다.
트래픽이 많은 경우 타임아웃, 커넥션 끊어짐, 장애 전파 등으로 이어질 수 있습니다.
또한 반환되는 키가 많으면 네트워크 패킷 크기도 커서 받는 서버입장도 부하가 커지겠죠.

그래서 keys 대신 scan 을 많이 이용하기도 합니다. 스캔은 한 번에 조금씩만 조회하고 바로 제어권을 반환하는 방식으로 구성되어있어서, redis 가 다른 요청도 계속 처리할 수 있는 장점이 있습니다.

 

질문 주셔서 감사합니다.

@RestControllerAdvice를 사용하지 않은 이유?

0

10

1

service-discovery 프로세스 가동 이유

0

15

1

AWS 배포 성능테스트

0

27

1

76강 2분33초 내용 오류

0

39

2

menupan.git 레포지토리가 보이지 않습니다.

0

45

2

인덱스 강의 혹은 해당 강의 전 듣어야 하는 사전강의 문의

0

41

2

헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.

0

61

2

ordered_at, paid_at 과 같이

0

33

1

DLQ의 수동 커밋에 대해서 질문있습니다.

0

50

2

질문 드립니다!

0

102

1

프론트 API 작업

1

109

2

agents와 commands에 대해 궁금한 점이 있습니다!

1

126

2

.claude 폴더 규칙 생성 방법

1

184

2

강의를 어떻게 보면 좋을 까요?

1

145

2

SKILLS.md나 agents 작성 문의

1

170

1

CSRF 관련 궁금한게 있어요

1

89

1

안녕하세요 강사님 데이터베이스 선택 질문있습니다!!

1

115

2

안녕하세요 질문있습니다.

1

108

1

클로드 대신 제미나이 사용해도

1

771

2

claude 동작 결과값이 다를 경우 어떻게 해나가야 될지 모르겠습니다.

2

169

2

hooks가 동작하기 위한 내용이 없는 것 같아서 추가가 필요하지 않을까 싶습니다.

1

140

3

.claude폴더를 복붙해서 넣긴 넣었는데 궁금한 점이 생겼어요.

1

210

2

터미널에서 claude 입력 과정

1

101

1

.claude 안에 폴더 및 파일은 어떻게 생성하죠?

2

235

1