inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Nhập môn/Thực hành Redis dành cho cả người không chuyên (Phần tối ưu hóa hiệu suất truy vấn)

Các trường hợp sử dụng chính của Redis

Redis vs Memcached

Đã giải quyết

232

yhr050085115

20 câu hỏi đã được viết

0

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

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

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

redis nosql query-tuning performance-tuning

Câu trả lời 2

1

jscode

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

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

 

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

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

 

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

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

 

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

0

communityai8509

안녕하세요, 인프런 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 차이점 설명하기

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

redis VS valkey

0

200

2

스프링 부트에 Redis 적용하기 질문

0

97

2

redis 적용을 위한 service 반환값

0

63

2

redis 사용으로 인한 비용

0

242

2

Redis를 적용했음에도 불구하고 조회 성능의 큰 차이가 없고 오히려 더 안좋은 조회속도를 보이는 것 같습니다.

0

144

3

Elastic Cache 에러

0

85

2

Elastic

0

74

2

AWS 리소스 삭제에 관하여

0

75

2

ec2안에서 pull 받는 이유가 뭔가요 ?

0

83

2

Nest.js + Redis 구현 문제

0

677

3

데이터를 안가져와요

0

72

2

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분 질문있습니다.

0

188

2

레디스 환경 셋팅 질문있습니다.

0

99

2

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다.

0

262

2

-parameters

0

129

2

redis 를 compose 로 묶어준 이유가 궁금합니다.

0

155

2

k6의 결과 해석

0

257

2

Jackson2JsonRedisSerializer에 대한 궁금증

0

233

1

사용된 어노테이션에 관한 질문

0

147

1

Redis 사용 방식에 대해서 질문 있습니다

0

154

1

aws elasticcache redis 툴 접속.

0

220

1

Redis를 사용하는 이유

0

710

2

로컬에서 docker compose 명령어 실행 시

0

275

2

EC2 서버 실행시키기 관련하여

0

428

2