inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한입 리액트 실전 라이브러리 키트 - Zustand, Tanstack Query, TailwindCSS

(5.13) 캐시 정규화하기 2

(5.12) 캐시 정규화 하기 1 질문

28

김수로

작성한 질문수 3

0

안녕하세요
5.12 캐시 정규화하기 부분에 궁금한 부분이 있어 질문 남겨봅니다!

이 캐시 정규화는 리스트 페이지와 상세 페이지의 데이터가 같을 경우에만 사용 가능한 패턴인가요?

만약 상세 페이지에서 백엔드가 내려주는 데이터가 리스트 페이지와 비슷하지만 몇 개의 필드가 다르게 내려온다면 사용할 수 없는 패턴인가요?

react react-query

답변 2

0

이정환 Winterlood

안녕하세요 김수로님 이정환입니다.

네 말씀하신대로 리스트 페이지에서의 데이터와 상세 페이지에서의 데이터가 구조가 다르다면 강의에서 소개해 드린 방식대로 정규화 하는 것은 다소 효율적이지는 않을 것 같습니다.

일단 정규화 한 뒤 상세 페이지에서 추가로 몇개의 필드를 불러왔을때 수동으로 저장된 캐시에 추가해주는 방법도 가능은 하나, 이러면 오히려 캐시 관리가 너무 복잡해져 다른 이슈가 발생할 수 있습니다. ㅠㅠ

0

인프런 AI 인턴

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

캐시 정규화는 주로 데이터가 일관되게 여러 페이지 또는 컴포넌트에 나타날 때 유용합니다. 특히, 리스트 페이지와 상세 페이지에서 동일한 데이터 구조를 공유하고 있을 때 생산적인 패턴입니다.

캐시 정규화 사용 조건

  1. 데이터 구조의 일관성: 캐시 정규화는 데이터를 키를 기준으로 관리하며, 이를 통해 리스트 페이지와 상세 페이지 등 여러 컴포넌트가 동일한 데이터를 사용할 수 있도록 해줍니다.
  2. 데이터의 부분적 공유: 만약 상세 페이지의 데이터가 리스트 페이지의 데이터와 부분적으로 다르다면, 기본적인 캐시 정규화를 수정하여 적용할 수 있습니다. 즉, 공통된 필드를 기준으로 캐시를 구성하고, 상세 페이지에서만 필요한 데이터는 추가적으로 관리하는 방식으로 종합할 수 있습니다.

유사한 사례 연구

캐시 정규화에 대한 유용한 설명을 참고하려면 아래 링크들을 살펴보세요:

  • 캐시 정규화 기초와 적용: 이 설명은 리스트 페이지와 같은 컴포넌트에서 데이터 일관성을 유지하는 방법을 다룹니다.
  • Zustand와 캐시 관리: 실제 사용 경험을 공유한 사례로, 다양한 데이터 상태 관리에서 캐시 정규화를 어떻게 적용할 수 있는지를 설명합니다.

이러한 관리 방식은 설계와 사업 요구에 맞춰 커스터마이징하여 활용하실 수 있습니다. 마찬가지로, Tanstack Query와 같은 상태 관리 라이브러리에서의 캐시 정규화 기능을 적극 활용하시면, 더욱 효율적인 성능 최적화를 이루실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

퀴즈 생성

0

4

1

프로젝트 하위 .claude 폴더

0

9

1

클로드코드에서 yes 를 always 로 설정하려면 어떻게 해야하죠?

0

10

1

claude 계정 두개

0

9

1

쉬림프 테스크 매니저 설치

0

10

1

Codex와 Claude code 비교

0

18

0

my-style.md 만들기 미션

0

10

1

스킬, 플러그인, 마켓플레이스 관련 문의

0

27

2

클로드 코드 요금제 대신 사용량 기반 과금제를 사용하고 있습니다.

0

29

2

25강부터 소리만 나오고 화면이 안나옵니다.

0

25

1

useEffect와 lifecycle문의

0

22

2

cd 다음에 어떻게 자연스럽게 문자가 써지죠?

0

25

1

클로드코드에 적용할 하네스? 툴? 추천 부탁드립니다.

0

29

1

14강 GIT 설치후 ~ config 명령어 입력이 안돼요

0

21

1

161강 자료 파일 안에 내용이 없네요.

0

28

2

/ide 명령어 실행 오류

0

22

2

Next.js 사전렌더링 이해하기 부분

0

22

2

subagents에 관한 질문이 있습니다.

0

29

2

클로드 코드 설치가 되지 않습니다...

0

30

2

output sytles 모든 프로젝트 적용시 디렉토리가 헷갈립니다 ㅠㅠ

0

33

2

터미널 줄바꿈 세팅

0

31

1

setting.json과 setting.local.json

0

36

2

섹션3 Shadcn/ui 생성 시

0

94

1

섹션2 tailwindcss 퀴즈에 대해서

0

50

2