1. redis๋?
redis๋ย 'Remote Dictionary Server'์ย ์ฝ์๋ก,ย ๊ณ ์ฑ๋ฅ์ย Key-Valueย ์คํ ์ด์
๋๋ค.ย ์ด๋ย ๋ฉ๋ชจ๋ฆฌย ๊ธฐ๋ฐ์ย ๋ฐ์ดํฐย ๊ตฌ์กฐย ์๋ฒ๋ก์,ย ๋ฐ์ดํฐ๋ฒ ์ด์ค,ย ์บ์,ย ๋ธ๋ก์ปค(Pub/Sub๋ชจ๋ธ์ ํตํด ์ค์๊ฐ ์ฑํ
, ์ด๋ฒคํธ์๋ฆผ ๋ฑ)ย ๋ฑ์ย ์ญํ ์ย ์ํํ ย ์ย ์๋ค.๋น ๋ฅธย ์๋ตย ์๊ฐ๊ณผย ๋์ย ํ์ฅ์ฑ์ย ํ์๋กย ํ๋ย ๋ค์ํย ์๋น์ค์์ย ๋๋ฆฌย ์ฌ์ฉ
2. redis์ collection
redis ๋ ์ด๋ ๊ฒ ๋ค์ํ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ค.
3. SingleThread
redis๋ ์ฑ๊ธ์ค๋ ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋์์ฑ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๊ณ ์์
์ ๋ค์ด์จ ์์๋๋ก ํ๋์ฉ ์ฒ๋ฆฌํ๋ค. ๋ย Redis 4.0๋ถํฐ๋ย 'Redisย Module'์ย ์ง์ํ์ฌ,ย ์ฌ์ฉ์๊ฐย ๋ณ๋์ย ์ค๋ ๋๋ฅผย ์์ฑํด์ย ์ฌ์ฉํ ย ์ย ์๊ฒย ๋์๊ณ , Redis 6.0๋ถํฐ๋ย 'IO Threading'ย ๊ธฐ๋ฅ์ย ๋์
ํ์ฌ,ย ๋คํธ์ํฌย I/Oย ์์
์ย ๋ณ๋ ฌ๋กย ์ฒ๋ฆฌํ ย ์ย ์๊ฒย ๋์์ต๋๋ค.ย
์ด๋ฐย ๊ธฐ๋ฅ์ย ํตํดย Redis๋ย ์ฑ๊ธย ์ค๋ ๋ย ๋ชจ๋ธ์ย ์ฅ์ ์ย ์ต๋ํย ์ด๋ฆฌ๋ฉด์,๋ฉํฐย ์ค๋ ๋์ย ์ด์ ๋ย ๊ฐ์ ธ๊ฐ๊ณ ย ์์ต๋๋ค.
4. replication, clutering
Redis์ ๋ณต์ (Replication)์ ํด๋ฌ์คํฐ๋ง(Clustering)์ ๋ ๊ฐ์ง ์ค์ํ ๊ธฐ๋ฅ์ผ๋ก, ๋ฐ์ดํฐ์ ์์ ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ด๋ ๋ฐ ์ฌ์ฉ๋๋ค.
1.
๋ณต์ (Replication): Redis์ ๋ณต์ ๊ธฐ๋ฅ์ ํ ๊ฐ์ Redis ์๋ฒ(์ฃผ๋ก '๋ง์คํฐ'๋ผ ๋ถ๋ฆผ)์ ๋ฐ์ดํฐ๋ฅผ ํ๋ ์ด์์ Redis ์๋ฒ('์ฌ๋ ์ด๋ธ'๋ผ ๋ถ๋ฆผ)์ ๋ณต์ฌํ๋ ๊ธฐ๋ฅ์
๋๋ค. ์ฌ๋ ์ด๋ธ๋ ๋ง์คํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ณต์ ๋ฐ์, ๋ง์คํฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋ฐ์ดํฐ์ ์์ค์ ๋ฐฉ์งํ๊ฑฐ๋, ์ฝ๊ธฐ ์์ฒญ์ ๋ถํ๋ฅผ ๋ถ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณต์ ๋ Redis ์ค์ ์์ ๊ฐ๋จํ๊ฒ ํ์ฑํํ ์ ์์ผ๋ฉฐ, ๋คํธ์ํฌ ๋ถํ ์ด๋ ์ฅ์ ์ํฉ์์๋ ์ ๋์ํฉ๋๋ค.
2.
ํด๋ฌ์คํฐ๋ง(Clustering): Redis ํด๋ฌ์คํฐ๋ ์ฌ๋ฌ ๊ฐ์ Redis ์๋ฒ๋ฅผ ํ๋์ ๋
ผ๋ฆฌ์ ์ธ ์์
๋จ์๋ก ๋ฌถ๋ ๊ธฐ๋ฅ์
๋๋ค. ์ด๋ฅผ ํตํด Redis์ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ๋ฅ๋ ฅ์ ์ํ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋
ธ๋์ ๋ถํ (Sharding)ํ์ฌ ์ ์ฅํ๋ฏ๋ก, ํ๋์ ๋
ธ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ๋ ์์ฒญ์ ์์ ๋์ด์๋ ํฐ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ, Redis ํด๋ฌ์คํฐ๋ ์๋ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ, ๋
ธ๋ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ํด๋ฌ์คํฐ๊ฐ ๊ณ์ ์๋ํ๋๋ก ํฉ๋๋ค.
์ดย ๋ย ๊ฐ์งย ๊ธฐ๋ฅ์ย ์๋กย ๋
๋ฆฝ์ ์ผ๋กย ์ฌ์ฉํ ย ์ย ์์ง๋ง,ย ๋ง์ย ๊ฒฝ์ฐ์ย ํจ๊ปย ์ฌ์ฉํ์ฌ,ย ๋๊ท๋ชจ์ย ๋ฐ์ดํฐ๋ฅผย ์์ ์ ์ผ๋กย ์ฒ๋ฆฌํ๊ณ ,ย ๋์ย ๊ฐ์ฉ์ฑ ์ย ๋ณด์ฅํ๋ย ๋ฐย ์ฌ์ฉ๋ฉ๋๋ค.ย ์๋ฅผย ๋ค์ด,ย ํด๋ฌ์คํฐ์ย ๊ฐย ๋
ธ๋๋ย ๋ณต์ ย ๊ธฐ๋ฅ์ย ์ฌ์ฉํ์ฌย ์์ ์ย ๋ฐ์ดํฐ๋ฅผย ๋ค๋ฅธย ๋
ธ๋์ย ๋ณต์ ํจ์ผ๋ก์จ, ๋
ธ๋ย ์ฅ์ ์ย ๋๋นํ ย ์ย ์์ต๋๋ค.





