강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

happyrichman님의 프로필 이미지
happyrichman

작성한 질문수

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

6-12. Redis 캐싱 시 발생하는 대표 문제 사례와 해결책 2

[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의

작성

·

9

0

1. 현재 학습 진도

  • 몇 챕터/몇 강을 수강 중이신가요? 6- 12

     

  • 여기까지 이해하신 내용은 무엇인가요? RedisTemplate으로 SETNX를 할 수 있고, 이 때의 리턴값은 boolean이다.

     

 

2. 어려움을 겪는 부분

  • 어떤 개념이 헷갈리시나요?

수업 자료에는 RedisTemplate을 통해 SETNX 요청시 키 존재 유무와 상관없이 모두 True를 리턴한다고 설명

image.png

 

3. 시도해보신 내용

  • 문제 해결을 위해 어떤 시도를 해보셨나요?

혹시 키가 이미 존재하면 RedisTemplate에서는 False 를 리턴하는 것이 아닐까요?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. happyrichman님.

Redis의 SETNX는 “SET if Not eXists”라는 의미로, 특정 키가 존재하지 않을 때만 값을 설정합니다. RedisTemplate을 사용하면 이 연산의 결과를 이용하여 키가 성공적으로 설정되었는지 확인할 수 있습니다.

RedisTemplate과 SETNX

  • True가 반환되는 경우: 키가 존재하지 않아 새로운 값을 설정할 수 있었던 경우, SETNX는 성공적으로 값을 세팅하고 true를 반환합니다.
  • False가 반환되는 경우: 키가 이미 존재하는 경우, 값은 설정되지 않으며 false를 반환합니다. Redis에서 null을 반환할 때, RedisTemplate은 이를 false로 변환하여 제공합니다.

수업 자료에서 설명된 내용이 오해의 소지가 있을 수 있습니다. Redis의 SETNX는 키가 존재하지 않는 경우에만 설정이 성공하므로 true를 반환하고, 그렇지 않은 경우에는 설정 실패로 false를 반환합니다.

관련해서 더 많은 정보를 확인하려면 다음 유사한 질문과 답변을 참조해 주세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

happyrichman님의 프로필 이미지
happyrichman

작성한 질문수

질문하기