redis๋?
โ ๊ณต์๋ฌธ์์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋์ด ์์ต๋๋ค.
Redis๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์บ์, ๋ฉ์์ง ๋ธ๋ก์ปค ๋ฐ ์คํธ๋ฆฌ๋ฐ ์์ง์ผ๋ก ์ฌ์ฉ๋๋ ์คํ ์์ค(BSD ๋ผ์ด์ผ์ค), ๋ฉ๋ชจ๋ฆฌ ๋ด ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ ์ฅ์์ ๋๋ค. Redis๋ strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. Redis๋ ๊ธฐ๋ณธ ์ ๊ณต ๋ณต์ , Lua ์คํฌ๋ฆฝํ , LRU ์ ๊ฑฐ, ํธ๋์ญ์ ๋ฐ ๋ค์ํ ์์ค์ ์จ๋์คํฌ ์ง์์ฑ์ ๊ฐ์ถ๊ณ ์์ผ๋ฉฐ Redis Sentinel์ ํตํ ๊ณ ๊ฐ์ฉ์ฑ ๋ฐ Redis ํด๋ฌ์คํฐ๋ฅผ ํตํ ์๋ ํํฐ์ ๋์ ์ ๊ณตํฉ๋๋ค.
redis๋ remote dictionary server์ ์ค์๋ง์ ๋๋ค.
์ฌ์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๊ด๋ฆฌํ ์ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฆ, key-value ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
redis๋ db-engines.com์์ key, value ์ ์ฅ์ ์ค ๊ฐ์ฅ ๋์ ์์์ ๋๋ค.
ํน์ง
- key-value ๊ตฌ์กฐ์ NoSQL
- ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์
- In-Memory ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋งค์ฐ ๋น ๋ฅธ ์๋
- ์๋ฒ ์ฌ์์ ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ ์ ํ์
- ๋ณต์ ์ ๋ฐฑ์ ์ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณต์ ๋ก๋ ๋ณต์์ด ๋ถ๊ฐ, ์ค์ํ ๋ฐ์ดํฐ๋ ์ฃผ๊ธฐ์ ๋ฐฑ์ ํ์
- ๋ค์ํ ์๋ฃ๊ตฌ์กฐ ์ง์
- sorted sets ํ์ ์ ํ์ฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋จ๊ณผ ๋์์ ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ ๋ญํน ์์คํ ๊ฐ๋ฐ์ ์ ์ฉํจ
- application ๋จ์์ ์์ฑํ ๋ก์ง์ redis๋ก ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์์
- ์๋ฃ๊ตฌ์กฐ ๋ณ๋ก ๋ค๋ฅธ ์ปค๋งจ๋ ์ ๊ณต
- Single Thread ๋ฐฉ์ ๋์
- ํ ๋ฒ์ ํ๋์ ๋ช ๋ น๋ง ์ฒ๋ฆฌํ ์ ์์
- ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธด ๋ช ๋ น์ด๊ฐ ๋ค์ด์ค๋ฉด ๋ค ๋ช ๋ น์ด๋ค์ ์์ ์๋ ๋ช ๋ น์ด๊ฐ ์ฒ๋ฆฌ๋ ๋๊น์ง ๋๊ธฐ
- ํ์ง๋ง get, set ๋ช ๋ น์ด์ ๊ฒฝ์ฐ ์ด๋น 10๋ง ๊ฐ ์ด์ ์ฒ๋ฆฌํ ์ ์์ ๋งํผ ๋น ๋ฆ
- atomic์ ๋ณด์ฅํ๊ณ , race condition์ ํํผ
- ๋ฒ์ 6.x๋ถํฐ ์๋์ ๊ฐ์ ๋ถ๋ถ์๋ง Multi Thread ๋์
- ํด๋ผ์ด์ธํธ์์ ์ ์กํ ๋ช ๋ น์ ์ฝ๊ณ ํ์ฑํ๋ ๋ถ๋ถ
- ๋ช ๋ น์ด ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ ๋ถ๋ถ
- (์ฃผ์) ๋ช ๋ น์ด ์คํ ์์ฒด๋ ์์ ๋ฉ์ธ์ค๋ ๋์์ ์ํํ๋ฏ๋ก ์ฌ์ ํ ์ฑ๊ธ์ค๋ ๋๋ผ๊ณ ๋ด์ผํจ
์ ์ธ๊น?
DB๊ฐ ์๋๋ฐ๋ redis๋ผ๋ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
์๋น์ค์ ์ ์ ๊ฐ ์ฆ๊ฐํ์ ๋ ๋ชจ๋ ์ ์ ์ ์์ฒญ์ DB ์ ๊ทผ์ผ๋ก๋ง ์ฒ๋ฆฌํ๋ค๋ฉด DB ์๋ฒ์ ๋ถํ๊ฐ ์ฆ๊ฐํ ์ ๋ฐ์ ์์ต๋๋ค. ๋ํ ์คํค๋ง๊ฐ ์ ํด์ ธ ์์ด ํฐ ์ ์ฅ๊ณต๊ฐ์ ์ฐจ์งํ๋ ํ ์ด๋ธ์๋ ์ปฌ๋ผ ํ๋๋ง ์ถ๊ฐํ๋ ๊ฒ๋ ์ฝ์ง ์์ต๋๋ค.
์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ DB๋ฅผ ์ค์ผ์ผ ์ธ, ์ค์ผ์ผ ์์ ํ๋ ๋ฐฉ์ ์ธ์ ์บ์ ์๋ฒ๋ก ์ด์ฉํ๋ ๊ฒ์ด redis ์ ๋๋ค.
์บ์๋ ํ๋ฒ ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅํด๋์๋ค๊ฐ ๋ค์์ ์ฝ์ ๋๋ ๋น ๋ฅด๊ฒ ๋ฐํํ ์ ์๋๋ก ๋์ํ๋ ๊ณต๊ฐ์ ๋๋ค.
๊ฐ์ ์์ฒญ์ด ์ฌ๋ฌ ๋ฒ ๋ค์ด์ค๋ ๊ฒฝ์ฐ ๋งค๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฑฐ์น๋ ๊ฒ์ด ์๋๋ผ ์บ์ ์๋ฒ์์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ๋ก ๋ด๋ ค์ฃผ๊ธฐ ๋๋ฌธ์ DB์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๊ณ , ์๋น์ค ์๋๋ ๋๋ ค์ง์ง ์๋ ์ฅ์ ์ด ์์ต๋๋ค.