Skip to main content
Sonamu์—์„œ TanStack Query์˜ ํด๋ผ์ด์–ธํŠธ ์บ์‹ฑ๊ณผ SSR ์‘๋‹ต์˜ HTTP ์บ์‹ฑ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์บ์‹œ ์ œ์–ด ๊ฐœ์š”

TanStack Query

ํด๋ผ์ด์–ธํŠธ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ staleTime/gcTime

HTTP ์บ์‹œ

Cache-Control ํ—ค๋” CDN/๋ธŒ๋ผ์šฐ์ € ์บ์‹ฑ

์žฌ๊ฒ€์ฆ

์ž๋™/์ˆ˜๋™ ๊ฐฑ์‹  ์ตœ์‹  ๋ฐ์ดํ„ฐ ์œ ์ง€

์„ฑ๋Šฅ ์ตœ์ ํ™”

๋น ๋ฅธ ์‘๋‹ต ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ฐ์†Œ

TanStack Query ํด๋ผ์ด์–ธํŠธ ์บ์‹ฑ

๊ธฐ๋ณธ ์„ค์ •

staleTime vs gcTime

์ฟผ๋ฆฌ๋ณ„ ์บ์‹œ ์„ค์ •

Service Hook์— ์˜ต์…˜์„ ์ „๋‹ฌํ•˜์—ฌ ๊ฐœ๋ณ„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ํŠน์„ฑ๋ณ„ ์บ์‹ฑ ์ „๋žต

์ˆ˜๋™ ์บ์‹œ ์ œ์–ด

์บ์‹œ ๋ฌดํšจํ™”

์บ์‹œ ์ง์ ‘ ์—…๋ฐ์ดํŠธ

์บ์‹œ ์กฐํšŒ

SSR Cache-Control

registerSSR์—์„œ HTTP Cache-Control ํ—ค๋”๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ ๋ผ์šฐํŠธ ์บ์‹ฑ

์ƒ์„ฑ๋˜๋Š” ํ—ค๋”:

์บ์‹ฑ ์ „๋žต ์˜ˆ์‹œ

CacheControlConfig ํƒ€์ž…

์ „์—ญ ์บ์‹ฑ ํ•ธ๋“ค๋Ÿฌ

๋ชจ๋“  SSR ๋ผ์šฐํŠธ์— ์ ์šฉ๋˜๋Š” ์ „์—ญ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์บ์‹ฑ

SSR๊ณผ ํด๋ผ์ด์–ธํŠธ ์บ์‹ฑ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์บ์‹ฑ ๋ ˆ์ด์–ด:
  1. ๋ธŒ๋ผ์šฐ์ € HTTP ์บ์‹œ: 1์‹œ๊ฐ„ (max-age=3600)
  2. TanStack Query ๋ฉ”๋ชจ๋ฆฌ: 5๋ถ„ (staleTime)
  3. ์„œ๋ฒ„ SSR ๋ Œ๋”๋ง: ์บ์‹œ ๋ฏธ์Šค ์‹œ ๋ Œ๋”๋ง
ํ๋ฆ„:
  1. ์ฒซ ๋ฐฉ๋ฌธ: SSR โ†’ HTML + ๋ฐ์ดํ„ฐ โ†’ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ์ €์žฅ
  2. 5๋ถ„ ์ด๋‚ด ์žฌ๋ฐฉ๋ฌธ: TanStack Query ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ ์‚ฌ์šฉ
  3. 5๋ถ„~1์‹œ๊ฐ„: ๋ธŒ๋ผ์šฐ์ € HTTP ์บ์‹œ ์‚ฌ์šฉ
  4. 1์‹œ๊ฐ„ ์ดํ›„: ์„œ๋ฒ„์— ์ƒˆ๋กœ ์š”์ฒญ

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋””๋ฒ„๊น…

React Query Devtools

์บ์‹œ ์ƒํƒœ ํ™•์ธ

HTTP ์บ์‹œ ํ—ค๋” ํ™•์ธ

๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ†’ Network ํƒญ์—์„œ ์‘๋‹ต ํ—ค๋” ํ™•์ธ:

์„ฑ๋Šฅ ์ตœ์ ํ™” ์ „๋žต

1. Subset ํ™œ์šฉ

ํ•„์š”ํ•œ ํ•„๋“œ๋งŒ ์บ์‹œํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ:

2. ์„ ํƒ์  ์žฌ๊ฒ€์ฆ

์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ ๊ทน์ ์œผ๋กœ ์žฌ๊ฒ€์ฆ:

3. ์บ์‹œ ํ”„๋ฆฌํŽ˜์นญ

๋‹ค์Œ์— ํ•„์š”ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์บ์‹ฑ:

์ฃผ์˜์‚ฌํ•ญ

์บ์‹œ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ: 1. staleTime ์„ค์ • ํ•„์ˆ˜: ๊ธฐ๋ณธ๊ฐ’ 0์€ ํ•ญ์ƒ refetch 2. ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋Š” private: public ์บ์‹œ ๊ธˆ์ง€ 3. ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ: noStore๋กœ ์บ์‹ฑ ๋น„ํ™œ์„ฑํ™” 4. SSR cacheControl: ๊ฐœ๋ณ„ ์„ค์ •์ด ์ „์—ญ ํ•ธ๋“ค๋Ÿฌ๋ณด๋‹ค ์šฐ์„  5. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: gcTime์œผ๋กœ ๋ถˆํ•„์š”ํ•œ ์บ์‹œ ์ œ๊ฑฐ

๋‹ค์Œ ๋‹จ๊ณ„

SSR ์„ค์ •

SSR ๊ธฐ๋ณธ ๊ตฌ์กฐ

๋ฐ์ดํ„ฐ ํ”„๋ฆฌ๋กœ๋”ฉ

registerSSR ์‚ฌ์šฉ๋ฒ•

Hydration ์ „๋žต

ํ•˜์ด๋“œ๋ ˆ์ด์…˜ ์ตœ์ ํ™”

TanStack Query ๊ณต์‹ ๋ฌธ์„œ

Query ์ƒ์„ธ ๊ฐ€์ด๋“œ