Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

๋Œ€๊ธฐ์—… ๊ทผ๋ฌดํ•˜๋ฉฐ ๊ฒฝํ—˜ํ•œ Redis๋ฅผ ์•ผ๋ฌด์ง€๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• [์ด๋ก ํŽธ]

Redis๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‹ค์ œ ์‹ค๋ฌด์—์„œ ๋˜๋Š” ์œ ๋ช…ํ•œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์–ด์„œ Redis์˜ ์ฃผ์˜์ ๊ณผ ํ™œ์šฉ๋ฒ•์„ ๋ชจ๋‘ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, Redis] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Caching Strategy

  • Data Structure

  • RDB vs AOF

  • HA, Replication, Sentinel

  • Redis Architectures

  • Redis Pub/Sub

  • Redis Script

์บ์‹ฑ์„ ๋„์ž…ํ•ด์„œ ๋‹จ์œ„ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์™”์–ด์š”..! ๐Ÿค”

์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ์ด๋Ÿฐ ๊ธฐ๋Šฅ๊ฐœ๋ฐœ ์š”์ฒญ์— ๋Œ€ํ•ด์„œ ์บ์‹ฑ์„ ๋„์ž…ํ•ด์•ผ ํ•  ๋–„, ์–ด๋–ป๊ฒŒ ๋„์ž…์„ ํ•˜์‹œ๋‚˜์š”?? ๋˜ํ•œ ์–ด๋–ค ํˆด์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?? ์ด๋Ÿฐ ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์ด ๋“ค์–ด์˜ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ๊ณ ๋ คํ•˜์…”์•ผ ํ•  ๊ฒ๋‹ˆ๋‹ค.


[1] ๐Ÿค” ์–ด๋–ค ์บ์‹ฑํˆด์„ ๋„์ž…ํ•ด์•ผ ํ• ๊นŒ??

[2] ๐Ÿค” ์บ์‹ฑ ์ „๋žต์ด๋ผ๊ณ  ์žˆ๋Š”๋ฐ.. ๊ทธ๊ฑด ์–ด๋–ค ์ „๋žต์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ??

[3] ๐Ÿค” ๊ธฐ๊ฐ„์ด ์—ฌ์œ ์žˆ์„๊นŒ?? Learning Curves๋กœ ์ธํ•ด ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ๋ฐ


์ด๋ ‡๊ฒŒ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ์„ ๋„์ž…ํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ์‹œ์Šคํ…œ์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘์„ ํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ํ™œ์šฉ์„ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์•ผ๋งŒ ์ œ๋Œ€๋กœ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ถ”ํ›„ ์ฝ”๋“œ ๊ฐœ์„ ์ด๋‚˜ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ ํฐ ๋ฌด๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜์—์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์บ์‹ฑ์„ ๋„์ž…ํ•œ๋‹ค๋Š” ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•˜๊ณ  ๋Œ€ํ‘œ์ ์ธ ์บ์‹ฑ ํˆด์ธ Redis ์— ๋Œ€ํ•ด์„œ ์ •๋ง ์ƒ์„ธํ•˜๊ฒŒ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Redis.. ๊ผญ ์•Œ์•„์•ผ ํ• ๊นŒ์š”?? ๐Ÿค”

๋„ค ์ ˆ๋Œ€์ ์œผ๋กœ ํ•™์Šตํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค!!

์„œ๋ฒ„์—์„œ์˜ ์‹ค๋ฌด๋ฅผ ๊ฒฝํ—˜ํ•ด ๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, database๋„ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๋˜์ง€๋งŒ redis๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ์ ˆ๋Œ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Redis ๋ฅผ ์‚ฌ์šฉํ•œ cache ๋„์ž…์€ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ ์ž…๋‹ˆ๋‹ค.

  • Redis๋ฅผ ์‚ฌ์šฉ์•ˆํ•˜๊ณ  ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์บ์‹ฑ ํˆด์„ ๋„์ž…ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์บ์‹ฑํˆด์€ ์‚ฌ์šฉ์ด ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š”๊ฒƒ์ด Redis ์ž…๋‹ˆ๋‹ค.


๐Ÿ˜† ์‹ค์ œ ์ทจ์—…์‹œ์žฅ์—์„œ๋„ Redis ๋ฅผ ๋‹ค๋ฃจ์–ด๋ณธ ๊ฐœ๋ฐœ์ž๋ฅผ ๋งŽ์ด ์„ ํ˜ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ฅ์Šจ

์Šค๋งˆ์ผ ๊ฒŒ์ดํŠธ

์นด์นด์˜ค ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ

์นด์นด์˜ค ๊ฒŒ์ž„์ฆˆ

๐Ÿ˜† ์‹ค์ œ ๋Œ€๊ธฐ์—…์—์„œ ๋ฐœ์ƒํ•œ Redis ์ด์Šˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋„ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿฅณ ์ด ๊ฐ•์˜๋Š” ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ์–ด์š”.

1โƒฃ Redis์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ์†Œ๊ฐœ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2โƒฃ Redis์—์„œ์˜ Collection์ด ๋ฌด์—‡์ธ์ง€. ๊ทธ๋ฆฌ๊ณ  ์™œ ์ค‘์š”ํ•˜๊ฒŒ ๋ด์•ผํ•˜๋Š”์ง€๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3โƒฃ Redis์™€ ๋‹ค๋ฅธ ์บ์‹ฑ ํˆด์„ ๋น„๊ตํ•˜๋ฉฐ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

4โƒฃ Redis์˜ ๋Œ€ํ‘œ์ ์ธ ์บ์‹ฑ์ „๋žต๊ณผ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์ƒํ™ฉ์—์„œ์˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ์ผ€์ด์Šค๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

5โƒฃ Redis์˜ ๋ฐ์ดํ„ฐ ์˜๊ตฌ ์ €์žฅ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

6โƒฃ Redis์˜ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

7โƒฃ Redis์—์„œ์˜ ์ด๋ฒคํŠธ ๋“œ๋ฆฌ๋ธ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

8โƒฃ Redis์—์„œ์˜ Script

9โƒฃ ๋” ๊ฒฌ๊ณ ํ•œ Redis๋ฅผ ์œ„ํ•œ ์ง€์นจ์„œ

๐Ÿ™Š ์ด ๊ฐ•์˜๋ฅผ ๋ชจ๋‘ ์ˆ˜๊ฐ•์„ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด?

Redis๊ฐ€ ์™œ ์ฃผ๋กœ ์‚ฌ์šฉ์ด ๋˜๋Š”์ง€, ํ•ด๋‹น ์•„ํ‚คํ…์ฒ˜์˜ ๊ตฌ์„ฑ์š”์†Œ์™€ ๋ณต์ œ์— ๋Œ€ํ•œ ์ง€์‹๊ณผ ๊ณผ๋„ํ•œ TPS ์ƒํ™ฉ์—์„œ์˜ ์บ์‹ฑ์ „๋žต๋“ฑ์„ ์ˆ˜๋ฆฝํ•˜๊ณ  ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ํ•™์Šต ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ˜‰ ๊ฐ™์ด๋ณด๋ฉด ์ข‹์€ ๊ฐ•์˜

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์ด ๊ฐ•์˜๋Š” PDF ๊ฐ•์˜ ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์‹œ๊ฐ„๊ณผ ์ €์˜ ์‹œ๊ฐ„์€ ๋ชจ๋‘ ์†Œ์ค‘ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š๋Š” ๋‚ด์šฉ์„ ๋‹ค์‹œ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๊ธฐ ๋ณด๋‹ค๋Š”, ์ œ๊ณตํ•ด๋“œ๋ฆฌ๋Š” ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ๋ณต๊ธฐํ•˜๋ฉฐ ์‹ค๋ฌด์— ์ ์šฉํ•ด๋ณด์„ธ์š”.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • InMemory๊ฐ€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค

  • Redis๋ฅผ ์–ด๋–ป๊ฒŒ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค

  • Caching์„ ๊ณ ๋ คํ•˜๊ณ  ๊ณ„์‹œ๋Š” ๋ถ„๋“ค

  • ๋ชจ๋“  ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž ๋ฐ ์šด์˜ ๊ด€๋ฆฌ์ž๋“ค

์•ˆ๋…•ํ•˜์„ธ์š”
Hong์ž…๋‹ˆ๋‹ค.

830

๋ช…

์ˆ˜๊ฐ•์ƒ

43

๊ฐœ

์ˆ˜๊ฐ•ํ‰

34

๊ฐœ

๋‹ต๋ณ€

4.3

์ 

๊ฐ•์˜ ํ‰์ 

6

๊ฐœ

๊ฐ•์˜

์ž๊ธฐ ์†Œ๊ฐœ

๋น„์ „๊ณต์ž ์ถœ์‹ ์œผ๋กœ ํŒ๊ต์—์„œ ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜์—ฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ตœ์ ํ™”์™€ ๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ ํŠœ๋‹์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ์ง€์‹ ๊ณต์œ ์ž ๊ณ„์ •์€ Spring Boot์„ ์ฃผ๋กœ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฒฝ๋ ฅ

[ๅ‰] ์ƒŒ๋“œ๋ฐ•์Šค ๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ์ž

[ๅ‰] ๋„ฅ์Šจ ์žํšŒ์‚ฌ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

[ๅ‰] ํŒ๊ต ๋Œ€๊ธฐ์—… ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

[็พ] ํŒ๊ต ๋ชจํšŒ์‚ฌ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

22๊ฐœ โˆ™ (1์‹œ๊ฐ„ 53๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!