inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

패턴 01: 캐싱(Cache-Aside) - DB부하를 줄이는 전략

캐시 무효화

1

rainbow8956

작성한 질문수 2

0

DB부하를 줄이는 전략에서 DB의 데이터 사용자 이름을 변경 할 때, 기존 캐식 삭제 보다 기존 캐시의 JSON 프로필 이름만 수정하는 게 더 비효율적인가요?

 

기존 캐식 삭제 > 새로운 캐시 생성 VS 기존 캐시의 수정

아키텍처 redis FastAPI

답변 1

0

인프런 AI 인턴

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

질문해 주신 캐시 무효화 전략인 “기존 캐시 삭제 후 새로운 캐시 생성”과 “기존 캐시 수정”에 대한 비교에 대해 설명드리겠습니다.

캐시 무효화 방식 비교:

  1. 기존 캐시 삭제 후 새로운 캐시 생성:

    • 장점: 단순 명쾌하게 모든 데이터가 최신 상태로 갱신되며, 누락이나 부정확한 데이터 상태가 될 가능성을 줄일 수 있습니다.
    • 단점: 새로운 캐시를 생성할 때 DB에 새로운 쿼리를 보내야 하므로, 이는 잠재적으로 추가 부하를 발생시킬 수 있습니다. 대용량 데이터를 다룰 경우 초기 로딩 시간도 영향을 받을 수 있습니다.
  2. 기존 캐시의 수정:

    • 장점: 일부 데이터를 조정하여 약간의 자원을 절약할 수 있습니다. 특정 변경점만 갱신하므로 데이터 일관성을 유지한 채 최소한의 리소스를 사용합니다.
    • 단점: 캐시 데이터의 복잡도에 따라 수정 로직이 복잡해질 수 있으며, 그로 인해 로직 구현 시 오류를 발생시킬 가능성이 있습니다. 잘못된 수정 작업이 누적되면 데이터 불일치 문제가 생길 수 있습니다.

어떤 접근법이 더 적합한가?

일반적으로 데이터 구조의 복잡성데이터의 변화 빈도를 고려하여 적절한 방법을 선택합니다. 사용자가 자주 변경하지 않는 데이터(예: 사용자 프로필)라면, 캐시의 수정이 유용할 수 있으나, 자주 변하고 대량의 데이터를 다루는 상황에서는 오히려 캐시 삭제 후 재생성이 안전하고 관리가 수월할 수 있습니다.

혹시 유사한 주제로 다른 분들도 토론한 적이 있는지에 대한 정보는 다음과 같은 자료를 참고해 보시면 도움이 됩니다:

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

Redis와 Kafca의 Pub/Sub 차이

0

3

1

27강 슬랙 테스트 부분도 누락된 것 같네요

1

18

2

22강 케글 연동 강의내용 누락된듯해요

1

20

2

한국투자증권 미국 주식 매매 수수료와 환전 수수료가 높은 경우 자동매매 베개투자법을 적용해도 괜찮을까요?

0

37

2

스크립트를 한번에 복사하고 싶습니다.

0

30

2

@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.

0

34

1

너무 흥미진진합니다..

1

38

2

SP를 아직도 사용하나요?

0

39

2

캐시전략 - Write-behind

0

40

2

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

41

2

순위가 동률일 때의 처리에 대해 질문드립니다.

0

56

2

Singleton 관련 질문입니다.

1

69

2

Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문

0

26

1

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

50

2

라우팅 테이블 설정 중 궁금한게 있습니다.

0

47

1

user-service jwt

0

48

2

애그리거트 질문있습니다!

0

46

2

Redlock 알고리즘 관해 궁금한게 있습니다!

0

71

2

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

0

53

2

백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제

0

98

1

강사님 GETDEL 관련해서 질문 있습니다

0

110

2

비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우

0

93

2

보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요

0

75

2

Redis Container 해킹

0

123

1