인프런 커뮤니티 질문&답변
[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의
작성
·
9
0
1. 현재 학습 진도
몇 챕터/몇 강을 수강 중이신가요? 6- 12
여기까지 이해하신 내용은 무엇인가요? RedisTemplate으로 SETNX를 할 수 있고, 이 때의 리턴값은 boolean이다.
2. 어려움을 겪는 부분
어떤 개념이 헷갈리시나요?
수업 자료에는 RedisTemplate을 통해 SETNX 요청시 키 존재 유무와 상관없이 모두 True를 리턴한다고 설명

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를 반환합니다.
관련해서 더 많은 정보를 확인하려면 다음 유사한 질문과 답변을 참조해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




