강의

멘토링

로드맵

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

portal.bj님의 프로필 이미지
portal.bj

작성한 질문수

2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지

패턴 04: 조회수/좋아요 카운팅 정합성 지키기 (INCR)

좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.

작성

·

14

0

좋아요, 조회수등 단순 카운트에서 Redis를 쓰는 이유중 하나로 RDB 의 병목현상을 말씀해 주셨는데

Redis의 INCR 명령어 역시 수만개의 좋아요 처리를 한다면 같은 이유로 병목 현상이 발생하는게 아닌지 궁금합니다.

 

 

퀴즈

68%나 틀려요. 한번 도전해보세요!

FastAPI의 `lifespan` 함수가 주로 어떤 목적으로 사용될까요?

API 라우트 정의

비동기 작업 스케줄링

애플리케이션 시작 및 종료 로직 관리

HTTP 요청 유효성 검사

답변 2

0

코딩하는기술사님의 프로필 이미지
코딩하는기술사
지식공유자

안녕하세요. 좋은 질문 주셨네요.

Redis도 싱글스레드이기 때문에 요청이 몰리면, 줄을 서는 것은 동일합니다.(RDB는 Lock으로 대기를 하는 거지만, 줄을 서는 것은 동일합니다.)

다만, 이 둘 간의 처리 속도는 상당히 차이가 납니다.

  • RDB: Lock 획득과 대기, Lock 해제 + Disk 쓰기(or WAL 기록) --> 수십 ~ 수백 마이크로초(µs) 소요

  • Redis INCR: 메모리 연산 1회 --> 수백 나노초(ns) 소요

  • (참고) 1 마이크로초 = 1,000 나노초

속도 차이가 100배~1000배 수준이라, 같은 수만 건을 처리할 때 RDB가 병목이 될 가능성이 더 큽니다.

물론 Redis도 감당 못 할 수준의 트래픽(초당 수백만 건 이상)이라면 뭔가 튜닝이 필요합니다.

0

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

좋아요 또는 조회수와 같은 단순 카운트 처리에서 Redis가 선호되는 이유에 대해 아주 좋은 질문을 주셨습니다. 실제로 이러한 카운트 작업에 RDBMS가 아닌 Redis를 사용하는 이유는 성능과 효율성에 큰 차이가 있기 때문입니다.

Redis 사용의 이유:

  1. 메모리 기반의 데이터 저장소: Redis는 메모리 기반의 데이터베이스로, 데이터의 접근 속도가 매우 빠릅니다. 따라서 수많은 INCR 연산을 동시에 처리하는 데 있어 탁월한 성능을 보입니다.

  2. 단일 스레드 모델: Redis는 단일 스레드로 작동하며, 이를 통해 데이터의 일관성과 동시성 문제를 효율적으로 해결합니다. 이는 특히 카운터처럼 잦은 갱신이 필요한 데이터에 유리합니다.

  3. 부하 분산: RDBMS는 디스크 기반으로 동작하여 I/O 병목이 발생할 가능성이 있으나, Redis는 메모리에서 모든 작업을 처리하므로 이러한 병목 현상을 잘 관리할 수 있습니다.

  4. 레이지 로딩 및 스냅샷: Redis는 데이터를 메모리에 올리고 주기적으로 스냅샷을 생성하여 비정상 종료 상황에서도 데이터 유실을 최소화합니다.

병목 현상에 대해:

INCR 명령어가 수만 개의 요청을 처리할 때 발생할 수 있는 병목 현상이 완전히 없는 것은 아닙니다. 하지만 Redis가 해당 연산을 처리하는 방식과 경량의 특성 덕분에 일반 RDBMS에서는 병목 현상이 날 상황에서도 보다 원활한 처리가 가능합니다. 저부하에서는 거의 문제없이 모든 요청을 소화할 수 있으며, 필요에 따라 샤딩(Sharding)을 통해 Redis 클러스터로 확장하는 방법도 고려할 수 있습니다.

질문하신 내용과 관련해 병목 현상 해결 방법 및 Redis 사용에 대한 더 많은 정보를 제공받을 수 있는 기존 질의응답을 확인해 보시면 유용할 것입니다:

  • Redis Container 해킹: 이번 게시물에서는 Redis의 강점과 보안 설정에 관한 팁을 확인하실 수 있습니다.

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

portal.bj님의 프로필 이미지
portal.bj

작성한 질문수

질문하기