Redis(REmote DIctionary Server)๋Š” ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค, ์บ์‹œ ๋ฐ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์„ฑ๋Šฅ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๋น„๊ตํ•  ์ˆ˜ ์—†๋Š” ์†๋„์™€ ์œ ์—ฐ์„ฑ์œผ๋กœ ์œ ๋ช…ํ•œ Redis๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋„๋ฆฌ ์ฑ„ํƒ๋˜์–ด ๊ณ ์† ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ž‘์—… ๊ด€๋ฆฌ์— ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค. Redis๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜์œผ๋กœ ์ž๋ž‘ํ•˜๋ฉฐ ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์ง€์†์ ์ธ ๋ฐœ์ „๊ณผ ์ตœ์ ํ™”๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ Redis๋Š” ๋ฌธ์ž์—ด, ํ•ด์‹œ, ๋ชฉ๋ก, ์„ธํŠธ, โ€‹โ€‹์ •๋ ฌ๋œ ์„ธํŠธ, ๋น„ํŠธ๋งต ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ค์žฌ๋‹ค๋Šฅํ•จ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ธ Redis๋Š” ๋А๋ฆฐ ๋””์Šคํฌ ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ ์†”๋ฃจ์…˜์— ๋น„ํ•ด RAM ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ์— ๋‚ด์žฌ๋œ ํ–ฅ์ƒ๋œ ์•ก์„ธ์Šค ์‹œ๊ฐ„์œผ๋กœ ์ธํ•ด ํฐ ์ด์ ์„ ์–ป์Šต๋‹ˆ๋‹ค.

AppMaster no-code ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋Š” Redis์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ํ”Œ๋žซํผ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ํ™œ์šฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•˜๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ๊ธฐ์ˆ  ์ง€์‹์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋„ ์‹œ๊ฐ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋ฐฑ์—”๋“œ ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ ๋ฐ API๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Redis ์ง€์› ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค๊ณ„, ๊ตฌํ˜„ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๋™์‹œ์— ์‚ฌ์šฉ์ž ์ •์˜ ์ปดํŒŒ์ผ ์†”๋ฃจ์…˜์˜ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Redis์˜ ์ฃผ๋ชฉํ• ๋งŒํ•œ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ๊ฒŒ์‹œ/๊ตฌ๋…(Pub/Sub) ๋ฉ”์‹œ์ง• ํŒจํ„ด์— ๋Œ€ํ•œ ์ง€์›์ž…๋‹ˆ๋‹ค. Pub/Sub๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ƒ์‚ฐ์ž ๋˜๋Š” "๊ฒŒ์‹œ์ž"๊ฐ€ ์–ด๋–ค ๊ตฌ๋…์ž๊ฐ€ ์žˆ๋Š”์ง€ ๋ชฐ๋ผ๋„ ์—ฌ๋Ÿฌ "๊ตฌ๋…์ž"์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ํ™•์žฅ์„ฑ๊ณผ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. AppMaster ์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” Redis Pub/Sub ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง• ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ Redis๋Š” LRU(์ตœ์†Œ ์‚ฌ์šฉ) ๋ฐ TTL(Time-To-Live) ์ œ๊ฑฐ ์ •์ฑ…์„ ๋ชจ๋‘ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LRU๋Š” ์บ์‹œ์—์„œ ์ž์ฃผ ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ˜๋ฉด TTL์€ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ๊ฒฐ์ •๋œ ์ˆ˜๋ช…์„ ์„ค์ •ํ•˜๊ณ  ๋งŒ๋ฃŒ๋˜๋ฉด ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์บ์‹ฑ ๊ธฐ๋Šฅ์€ ๋ฒ„ํผ ์—ญํ• ์„ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ๋“œ๋ฅผ ์ค„์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Redis๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ๋„๋ฉ”์ธ์—์„œ ๊ท€์ค‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๊ฐ•๋ ฅํ•˜๊ณ  ๋‹ค์žฌ๋‹ค๋Šฅํ•œ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ ๋‚ด ํ†ตํ•ฉ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๋งž์ถคํ˜• ์†”๋ฃจ์…˜์ด ์ œ๊ณตํ•˜๋Š” ํšจ์œจ์„ฑ๊ณผ ์ ์‘์„ฑ์„ ํฌ์ƒํ•˜์ง€ ์•Š๊ณ  ๊ฐ„๋‹จํ•˜๊ณ  ์‹œ๊ฐ์ ์ธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Redis, Go ๋ฐ AppMaster ๊ฐ„์˜ ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋ฅผ ํ™œ์šฉํ•จ์œผ๋กœ์จ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ํŒ€์€ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ•ด๊ฒฐํ•˜๋Š” ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.