인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

황은경님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

Redis 주요 사용 사례

Redis vs Memcached

해결된 질문

작성

·

85

·

수정됨

0

안녕하세요. 강의 잘 듣고 있습니다!

현재 개인 프로젝트에 Redis를 적용해보려고 합니다.
구현하려는 기능은 주식 가격 요청 API로, 동일한 주식 종목을 여러 번 호출했을 때 캐시에서 값을 가져오는 로직입니다.
Redis 외에도 Memcached라는 인메모리 캐시 서버가 있는데, 이 두 가지 서버 중 어떤 기준으로 선택하는 것이 좋을지 고민입니다.

기술을 선택할 때, 근거를 명확히 하는 연습을 하는 것이 중요한가요?
예를 들어, Redis는 리스트, 셋, 해시, 정렬된 셋 등 다양한 데이터 구조를 지원하고, 영속성 기능도 제공하는데, 이런 이유로 Redis를 선택해야 한다고 말할 수 있을까요?
제가 구현하는 기능은 단순 조회 기능이라 Memcached도 적합할 수 있을 것 같지만, 이를 다른 사람들에게 설득할 근거와 이유는 어떻게 제시하는 것이 좋을까요?

답변 2

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 은경님! 너무 좋은 고민을 하고 계신 것 같네요👍

질문에 대해 하나씩 답변 드려볼게요!

 

기술을 선택할 때, 근거를 명확히 하는 연습을 하는 것이 중요한가요?
예를 들어, Redis는 리스트, 셋, 해시, 정렬된 셋 등 다양한 데이터 구조를 지원하고, 영속성 기능도 제공하는데, 이런 이유로 Redis를 선택해야 한다고 말할 수 있을까요?

-> 술을 선택할 때 근거를 명확히 하는 연습을 하는 게 중요합니다. 만약 Redis의 선택 이유를 '다양한 데이터 구조를 지원하고 영속성 기능을 제공하기 위해 선택'했다면, 실제 프로젝트에서 Redis를 적용한 Case가 Memcached에서 제공하지 않는 데이터 구조를 사용했거나 영속성 기능을 사용한 사례가 들어가야 할 겁니다! 만약 그런 사례를 활용해 Redis를 썼다면 충분히 좋은 근거가 될 수 있을 것 같네요!

 

제가 구현하는 기능은 단순 조회 기능이라 Memcached도 적합할 수 있을 것 같지만, 이를 다른 사람들에게 설득할 근거와 이유는 어떻게 제시하는 것이 좋을까요?

-> 단순 조회 기능이라면 주로 Redis보다는 심플한 Memcached를 선택하는 게 합리적일 수 있습니다. 하지만 만약 제가 단순 조회 기능을 구현했을 때 Memcached를 선택한 이유를 찾는다면, 추후 확장성을 거론할 것 같습니다. 여기서 얘기하는 확장성이라 함은 Memcached는 가지고 있지 않고 Redis만이 가지고 있는 기능을 추후에 사용하게 될 가능성이 높다라는 점을 언급할 것 같습니다:D

 

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~~

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 황은경님, Redis와 Memcached의 선택에 대한 고민에 대해 답변 드리겠습니다.

Redis vs Memcached 비교

  1. 데이터 구조의 다양성: Redis는 리스트, 셋, 해시, 정렬된 셋 등 다양한 데이터 구조를 지원하여 다양한 형태로 데이터를 처리할 수 있습니다. 만약 복잡한 데이터 처리가 필요하다면 Redis가 더 유리합니다.

  2. 영속성: Redis는 데이터 영속성을 지원하여, 서버가 재부팅되어도 데이터를 유지할 수 있습니다. 반면, Memcached는 휘발성 메모리를 사용하므로 서버가 재부팅되면 데이터가 사라집니다.

  3. 성능: Memcached는 단순한 키-값 저장소로, 메모리 내에서 매우 빠른 속도(특히 대용량 데이터 캐싱)에 강점을 가집니다. 단순 조회, 특히 대규모 읽기 작업의 경우에는 Memcached가 더 적합할 수 있습니다.

  4. 스케일링: Memcached는 기본적으로 멀티 스레드와 수평적 스케일링에 최적화되어 있어, 빠르게 확장할 수 있습니다. 반면 Redis는 싱글 스레드로 작동하지만 여러 인스턴스를 통해 확장이 가능합니다.

  5. 복잡성 vs 단순성: Redis는 다양한 기능을 제공하는 반면, Memcached는 매우 단순하여 설정 및 운영이 쉬운 편입니다. 프로젝트의 복잡성과 운영의 용이성에 따라 결정할 수 있습니다.

기술 선택의 근거 제시

  • 사용 사례에 맞는 기술 선택: 주식 가격 요청 API 같이 단순한 조회 기능이라면 Memcached도 적합합니다. 그러나 확장성을 고려하거나 복잡한 데이터 구조 처리가 필요하다면 Redis가 더 나을 수 있습니다.
  • 기능 강조: 특정 필요에 따라 Redis의 영속성과 데이터 구조 지원을 강조할 수 있습니다.
  • 미래 가치를 고려한 선택: 프로젝트의 확장 가능성, 팀의 기술 스택 일관성, 장기적인 데이터 관리 요구사항 등을 근거로 어떻게 선택이 미래에 이익이 될 수 있는지를 설명할 수 있습니다.

아래 유사한 질문을 참고하면 도움이 될 것입니다:
- Redis와 Memcached 차이점 설명하기

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