๐Ÿฆย ๊ทœ๋ฆฌ

๐Ÿงง Radis

: Radis๋Š”ย ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ์บ์‹œ๋กœ, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋กœ ์‚ฌ์šฉ๋˜๋Š” in-memoryย  ๊ธฐ๋ฐ˜์˜ Ditionary(key-value) ์ €์žฅ์†Œ

: ์ธ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋กœ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฅธ ์žฅ์ ์ด ์žˆ๋‹ค.

: ๋‹ค๋งŒ ์šฉ๋Ÿ‰์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ ์…‹์ด ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋‹ค ํฌ๋ฉด ๋””์Šคํฌ๋ฅผ ์จ์•ผํ•จ

๐Ÿช™ Cache

: ํ•œ๋ฒˆ ์กฐํšŒ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ๊ณต๊ฐ„์— ์ €์žฅํ•ด๋‘๊ณ , ๋˜‘๊ฐ™์€ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ์„œ๋ฒ„๋กœ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธํ•œํ…Œ ๋ฐ”๋กœย ์ œ๊ณตํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

(1) Cache hit : ์บ์‹œ ์Šคํ† ์–ด์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜จ๋‹ค(๋น ๋ฆ„)

(2) Cache miss : ์บ์‹œ ์Šคํ† ์–ด์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ DB์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ๊ฐ€์ ธ์˜จ๋‹ค(๋Š๋ฆผ)

โ™Ÿ Radis Cache ์ „๋žต

: ์บ์‹œ ์ „๋žต์€ ์›น์„œ๋น„์Šค์—์„œ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋จ

: ์ผ๋ฐ˜์ ์œผ๋กœ ์บ์‹œ(cache)๋Š” ๋ฉ”๋ชจ๋ฆฌ(RAM)๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋””์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

: ์ž์ฃผ ์กฐํšŒ๋˜๋Š” ๋ฐ์ดํ„ฐ๋‚˜, ๊ฒฐ๊ณผ๊ฐ’์ด ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š์€ ์ผ์ •ํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ด ์ „๋žต์— ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค.

: Redis๋Š” in-memory์ง€๋งŒ, persistent on-disk ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํŠน์ •ํ•œ๋•Œ์— ํ˜„์žฌ๊นŒ์ง€์˜ In-memory ์ƒํƒœ๋ฅผ disk์— ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€, Redis๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ Disk์— ์ €์žฅํ•ด ๋‘์—ˆ๋˜ dump ํŒŒ์ผ๋“ค์„ ๊ฐ€์ ธ์™€์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ์†์‹ค์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“ Radis์˜ ์žฅ๋‹จ์ 