|Radis| Radis Cache โ
๐งง 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 ํ์ผ๋ค์ ๊ฐ์ ธ์์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์์ค์ ๋ฐฉ์งํ ์ ์๋ค.
*) ๋ค์ํ ์บ์ ์ ๋ต ์ฐธ๊ณ ์ฌ์ดํธ : https://inpa.tistory.com/entry/REDIS-%F0%9F%93%9A-%EC%BA%90%EC%8B%9CCache-%EC%84%A4%EA%B3%84-%EC%A0%84%EB%9E%B5-%EC%A7%80%EC%B9%A8-%EC%B4%9D%EC%A0%95%EB%A6%AC
๐ Radis์ ์ฅ๋จ์
์ฅ์ :
- ๋น ๋ฅธ ์๋
- ๋ฆฌ์คํธ, ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ์ ์ฉํ๋ค
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํ๋ฉด์ ์์์ ์ธ ๋ฐ์ดํฐ ๋ณด์กด์ด ๊ฐ๋ฅ
- ์ฑ๊ธ ์ฐ๋ ๋๋ก ์ํ๋๊ธฐ ๋๋ฌธ์ ์๋ฒ ํ๋์ ์ฌ๋ฌ๊ฐ์ Redis Server๋ฅผ ๋์ธ ์ ์๋ค.
๋จ์ :
- ์ฑ๊ธ์ฐ๋ ๋ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฒ์ ํ๋์ ๋ช ๋ น์ด๋ง ์คํ => ๊ธด ์ฒ๋ฆฌ์๊ฐ์ด ํ์ํ ๋ช ๋ น์ด๋ฅผ ์ฐ๋ฉด ๋ถ๋ฆฌํจ
- In-memory ํ์์ด๊ธฐ ๋๋ฌธ์ ์ค๋ ์ท / AOP ๊ธฐ๋ฅ์ ํตํ ๋ณต๊ตฌ ๋ฐฉ์์ ์ฃผ์ํ์ฌ ์์ฑํด์ผ ๋ฐ์ดํฐ ์ ์ค์ ๋๋นํ ์ ์๋ค.