๋ ๋์ค A to Z๋ก ๋ ๋์ค ์ฒซ ์์์ ํํํ๊ฒ! ๊ณ ๋ฑํ์์ด ๋ด๋ ์๋ฒฝํ ์ดํดํ ์ ์๋ ์ฝ๊ณ ์ฌ๋ฐ๋ ๋ ๋์ค์ ๋ชจ๋ ๊ฒ
Redis
Redis๋ฅผ ํ์ฉํ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ช
๋ น์ด๋ง ๋ฐฐ์ฐ๋ ๊ฐ์๋ ๊ทธ๋ง!
์๋ฆฌ๋ฅผ ์ดํดํ๋ฉฐ ๋ฐฐ์ฐ๋ ์ง์ง ๋ ๋์ค ๊ฐ์
Q1) Redis์ replication์ ๋ํด ์๋๋๋ก ์ค๋ช ํ๊ณ quorum์ ๋ํด ์ค๋ช ํ์ธ์.
Q2) ๋ ๋์ค์ ์ฐ๋ ๋์ ๋ํด ์๋ ๋๋ก ์ฐ๊ด ์ง์ด ์ค๋ช ํด๋ณด์ธ์.
Q3) delete์ unlink๋ ๋ฌด์จ ์ฐจ์ด์ ์ด ์์๊น์?
Q4) ๋ฐฑ์ ์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ 2๊ฐ์ง์ ๋ํด ์ค๋ช ํ๊ณ ๊ฐ๊ฐ ์ฅ๋จ์ ์ ์ค๋ช ํ์ธ์.
Q5) ์ด์์ค์ ๋ ๋์ค์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ํ๋์?
๋ ๋์ค์ ๋ช
๋ น์ด ๋ช ๊ฐ์ง๋ฅผ ์๋ ๊ฒ๊ณผ ๋ ๋์ค๋ฅผ ํ ์ค ์๋ค๋ ๊ฒ์ ๋ค๋ฆ
๋๋ค. ๋ ๋์ค์ ์ค์น, ์คํ, ์์ฉ์ ํด๋ณด๋ฉฐ ๋ช
๋ น์ด๋ถํฐ ๋ด๋ถ๋์ ์๋ฆฌ์ ๋ ๋์ค ์ํ๊ณ๊น์ง ๋ชจ๋ ๊ฒ์ ๋ฐฐ์๋ด
์๋ค!
๋ฐ๋ก ์๋, ๊ฐ๋จํ ๋ฐ์ดํฐ ๋ชจ๋ธ, ํ์ฅ์ฑ ๋๋ฌธ์
๋๋ค. Redis๋ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ์ผ๋ก ๋งค์ฐ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ฅผ ์ ๊ณตํ๋ฉฐ, ํค-๊ฐ ์ ์ฅ์๋ก ๋ณต์กํ ์ฟผ๋ฆฌ ์์ด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ ํด๋ฌ์คํฐ์ ๋ณต์ ๊ธฐ๋ฅ์ ํตํด ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ง์ํด ๋๊ท๋ชจ ํธ๋ํฝ ์ฒ๋ฆฌ์ ์ ํฉํฉ๋๋ค. ๋ค์นด๋ผ์ฟ ๋ฐฐ ์ฑ์ฉ ๊ณต๊ณ ์๋ ํญ์ Redis ์ฐ๋, Redis ํ์ ์ฌํญ์ผ๋ก ๋ช
์๋์ด ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
<์นด์นด์ค ์ฑ์ฉ๊ณต๊ณ >
<๋ฐฐ๋ฌ์๋ฏผ์กฑ ์ฑ์ฉ๊ณต๊ณ >
์ด๋ฒ Redis ๊ฐ์๋ก ์ ๋๋ก ๊ณต๋ถํ๋ฉด, ํ์ ์จ๋จน์ ์ ์๋ Redis ์ง์์ ์ป์ ๋ฟ๋ง ์๋๋ผ Redis๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ญ๋์ ๊ฐ์ง ์ ์์ต๋๋ค. ํฉ๊ธ๊ฐ์ ์๊ฐ ๋น ๋ฅด๊ฒ ํต์ฌ๋ง ์ตํ์ ๋ฉด์ , ์ค๋ฌด ๋ชจ๋ ๋๋นํด ๋ณด์ธ์!
โ ์ค๋ฌด์ฒ๋ผ ์ง์ ์ค์นํด๋ณด๋ Redis
โ ์ง๊ด์ ์ธ ๊ทธ๋ฆผ ์ค๋ช ์ผ๋ก ์ดํดํ๋ Redis์ ๋์์๋ฆฌ ์ดํด
โ Node.js ์ฝ๋๋ก Redis ํ์ฉ ์์ ํ์ด๋ณด๊ธฐ
โ ์ค๊ฐ์ค๊ฐ ๋ฑ์ฅํ๋ ์ค๋ฌด์์ Redis ๊ฟํ!
1. ์ค๋ฌด ๋ ๋์ค ๊ตฌ์ฑ
์ปจํ ์ด๋(Docker)์ VM์ ํ์ฉํ์ฌ 100% ์ค์ ๊ณผ ๊ฐ์ ๋ ๋์ค ํ๊ฒฝ์ ๊ตฌ์ถํฉ๋๋ค. ๋ํ ๋ ๋์ค ์๋์คํ์ ์ํ ์ค์ , ๋ฐฑ์ ์์ ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋์คํฌ ๋ณ๋ ฌํ ๊ธฐ๋ฒ, ๋ ๋์ค ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐ ๋ชจ๋ํฐ๋ง์ ์ํ Redis Insignt๊น์ง ํ์ตํฉ๋๋ค.
2. ๋ ๋์ค ๋ช ๋ น์ด ํ์ต
๊ฐ ๋ฐ์ดํฐ ํ์ ๋ณ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋ช ๋ น์ด์ ๋ฉ์์ง ํ, ๋ฐ์ดํฐ ๋ฐฑ์ , JSON ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ํ์ดํ๋ผ์ธ ์ฒ๋ฆฌ ๋ฐ ํธ๋์ญ์ ๊ด๋ฆฌ ๋ฑ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ค๋ฌด์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ฅผ ๋ฐฐ์๋๋ค.
3. ์ค์ ์ ํ๋ฆฌ์ผ์ด์ (feat. Node.js) ๊ฐ๋ฐ
Node.js๋ก ๊ฐ๋จํ OTP ์์ฑ, ์บ์ ๋๊ธฐํ, ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ ์บ์ฑ ๋ฑ์ ๊ตฌํํ๊ณ , ๋ถ์ฐ ๋ฝ์ ์ด์ฉํ ํฐ์ผํ ์์คํ , ์ฟ ํค/์ธ์ ๊ด๋ฆฌ, ์ค์๊ฐ ์ธ๊ธฐ ๊ฒ์์ด ์ ์ํ ๋ฐ ์ฑํ ์์คํ ์ ํตํด Redis์ ๋ค์ํ ํ์ฉ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
4. ๋ ๋์ค ์๋ฃ๊ตฌ์กฐ
๋ ๋์ค์์ ์ฐ์ด๋ ์๋ฃ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ํ์ ์ ์ฝ๊ฒ ์ง๊ด์ ์ผ๋ก ์ดํดํ ์ ์๋๋ก ๋์ํํ์ฌ ์ค๋ช ํฉ๋๋ค.
๐ก DBA(์ธํ๋ผ ์ด์)๋ฅผ ์ค๋นํ์๋ ๋ถ!
๐ก ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ฅผ ์ค๋นํ์๋ ๋ถ!
๐ก ๋น์ฅ Redis๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์ ํฌ์ ๋๋๋ฐ, Redis์ ๋ํด 1๋ ๋ชจ๋ฅด์๋ ๋ถ!
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋์?
๊ณ ๋ฑํ์์ด ๋ค์ด๋ ์ดํดํ ์ ์๋๋ก ๋ด์ฉ ์ดํด์ ํ์ํ ์ง์์ ์ฒ์ฒํ ์ ๋ฆฌํด๊ฐ๋ฉฐ ์ค๋ช ํฉ๋๋ค.
Q. Node.js ์ฝ๋๋ง ์ค์ต์ ํ ์ด์ ๊ฐ ์๋์?
์ค์ต ์งํ์๋๊ฐ Java, C# ๋ฑ์ ๋นํด ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง Spring(Java, Kotlin)์ด๋ .Net(C#) ๊ฐ๋ฐ์๋ ๋ก์ง์ ๊ทธ๋๋ก ์ ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
Q. ์ด ๊ฐ์๋ง ๋ค์ผ๋ฉด Redis์ ๋ํด ๋ชจ๋ ๊ฒ์ ์ ์ ์๋์?
์ด ๊ฐ์๋ ํ์ ์คํฌ๋ฆฝํธ ๊ฐ์๊ธฐ ๋๋ฌธ์ NestJS ์น์ ์์ ๋ฐฑ์๋์ ์ค๋ช ๊ณผ ์ฝ๋ ํ์ง์ ๊ณ ๋ คํ ์ฝ๋ฉ์ ๋ฐ๋ก ํ์ง ์์ต๋๋ค. ์ค๋ก์ง NestJS์์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์ธ ์ ์์์ง๋ง์ ๊ณ ๋ คํ ์น์ ์ ๋๋ค. ์์งํ 100%๋ฅผ ์ ์๋ ์๊ณ , 80%๋ ์ ์ ์๋ค๊ณ ์๋ถํฉ๋๋ค. 10%๋ ์ด์ ๊ฒฝํ์ด ์์ด์ผ๋ง ์ฑ์์ง๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. (๋๋จธ์ง 10%๋ ๋ ๋์ค์ ๋ด๋ถ rust, c ์ฝ๋๋ฅผ ๋ดค์ ๋ ์ฑ์์ง๋ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ์๊ฐ ๋๋ฌด ๋ฌด๊ฑฐ์์ ธ ์ถ๊ฐํ์ง ์์์ต๋๋ค.)
Q. Redis Stream์ ๋ํด ์ค๋ช ํ์ง๋ ์๋์?
Redis Stream์ ์นํฐ 2~3๊ฐ์ ๋ถ๋์ด ๋์ฌ๋ฟ๋๋ฌ, ์ ๊ฒฝํ์ ์ค๋ฌด์์๋ Redis Stream์ ์ฐ๋ ์ผ์ด ๋ง์ง ์์์ต๋๋ค. ์ฉ๋์ ๋ง๊ฒ Apache Kafka, Elastic Search๋ฅผ ์ฃผ๋ก ์ฐ๊ธฐ ๋๋ฌธ์ ๊ฐ์์์ ๊ณผ๊ฐํ ๋บ์ต๋๋ค.
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๋ ๋์ค๋ฅผ ์ ๋๋ก ๋ฐฐ์๋ณด๊ณ ์ถ์ผ์ ๋ถ!
DBA๋ฅผ ์ค๋นํ์๋ ๋ถ!
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ฅผ ์ค๋นํ์๋ ๋ถ!
349
๋ช
์๊ฐ์
13
๊ฐ
์๊ฐํ
33
๊ฐ
๋ต๋ณ
5.0
์
๊ฐ์ ํ์
2
๊ฐ
๊ฐ์
์๋
ํ์ธ์! ์ ๊ฒฝํ์ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ณ ์ถ์ต๋๋ค.
yongsoocho578@gmail.com ์ผ๋ก ํผ๋๋ฐฑ๊ณผ ์๊ฒฌ์ ํ์์
๋๋ค.
์ ์ฒด
42๊ฐ โ (7์๊ฐ 43๋ถ)
ํด๋น ๊ฐ์์์ ์ ๊ณต:
Virtual Box ๊ตฌ์ฑ
04:51
Redis ์์ค ์ค์น
11:20
systemctl ์ค์
11:03
redis insight
03:59
list ์ด์ ๋ฆฌ
13:14
hash ์ด์ ๋ฆฌ
10:20
set ์ด์ ๋ฆฌ
08:34
sorted set ์ด์ ๋ฆฌ
09:03
โฉ22,000