๐ ๋จผ์ ์ฝ์ผ๋ฉด ์ข์ ๊ธ
์บ์(Cache) ๊ฐ๋ ์ฝ๊ฒ ์ ๋ฆฌํ๊ธฐ
๐ ์บ์(Cache)๋?์ง๊ธ๊น์ง ๋ฐ์ดํฐ๊ฐ ํ์ํ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ง์ ์กฐํํด์์ต๋๋ค.๊ฐ๋ฐ์ ๊ณต๋ถํด๋ดค๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ I/O ์์ ์ ์ํฅ์ด ํฌ๋ค๋ ๋ง์ ๋ค์ด๋ดค์ ๊ฒ๋๋ค.๊ทธ๋งํผ ์ฆ์ D
syleeblog.tistory.com
์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ ๋ฐ๋ณต์ ์ผ๋ก ์กฐํ๋๋ ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅํ๋ฉด,
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ์ถํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐํํ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ ์บ์๋ฅผ ๋ก์ปฌ ์บ์์ ๋ถ์ฐ ์บ์๋ก ๋๋์ด ์์๋ณด๊ณ ์ ํฉ๋๋ค.
โ ๋ก์ปฌ ์บ์
๋ก์ปฌ ์บ์๋ ๊ฐ ์๋ฒ๋ง๋ค ๋ด์ฅ ์บ์๋ฅผ ์ฌ์ฉํ๋ ์ ๋ต์ ๋๋ค.
์ฆ, ๋ก์ปฌ ์บ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ด๋ถ์ ์กด์ฌํฉ๋๋ค.
Spring์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ JVM ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
Spring์์ ์์ฃผ ์ฐ๋ ๋ก์ปฌ ์บ์๋ก๋ EhCache, Caffeine, Guava Cache ๋ฑ์ด ์์ต๋๋ค.
- โ ๋งค์ฐ ๋น ๋ฅธ ์๋: ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์น์ง ์๊ณ , ์๋ฒ ๋ด๋ถ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
- โ ๋คํธ์ํฌ ์ง์ฐ์ด๋ ์ฅ์ ์ ์ํฅ์ ๋ฐ์ง ์์: ์ธ๋ถ ์์คํ ๊ณผ์ ํต์ ์ด ํ์ ์์ผ๋ฏ๋ก ์ง์ฐ์ด ์์ต๋๋ค.
- โ ๊ตฌํ์ด ๋น๊ต์ ๊ฐ๋จํ๊ณ ๋น์ฉ์ด ์ ๋ ดํฉ๋๋ค.
๊ทธ๋ฌ๋ ์๋ฒ๊ฐ ์ฌ๋ฌ ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.
- โ ๏ธ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ๋ถ์ผ์น: ์ฌ๋ฌ ์๋ฒ๊ฐ ๊ฐ๊ฐ ๋ก์ปฌ ์บ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์บ์ ๊ฐ์ ๋ฐ์ดํฐ ๊ณต์ ๊ฐ ์๋์ผ๋ก ๋์ง ์์ต๋๋ค.
๋ํ ๋ก์ปฌ ์บ์๋ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ถ ์์กดํ๋ฏ๋ก ์๋ฒ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ฅด๊ณ , ๋ฉ๋ชจ๋ฆฌ ์ฉ๋ ์ ํ๋ ์์ต๋๋ค.
- โ ๏ธ ๋ฐ์ดํฐ ํ๋ฐ์ฑ: ์๋ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์์๋๋ฉด ์บ์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋๋ค.
- โ ๏ธ ์ฉ๋ ์ ํ: ๋ก์ปฌ ์บ์๋ ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์์นํ๋ฏ๋ก ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๊ธฐ์๋ ๋ถ์ ํฉํฉ๋๋ค.
๋ก์ปฌ ์บ์๋ง ์ฌ์ฉํ๋ ๊ฑด ํ๊ณ๊ฐ ์์ต๋๋ค.
๋๋ฎค ์๋น์ค์์๋ ์ฌ๋ฌ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๋ถ์ฐ ํ๊ฒฝ์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฌ๋ฌ ์๋ฒ๊ฐ ๋์์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋, ๊ฐ ์๋ฒ์ ๋ฌ๋ฆฐ ๋ก์ปฌ ์บ์๋ง ์ฌ์ฉํ๋ฉด ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ชจ๋ ์๋ฒ๊ฐ ํญ์ ๋์ผํ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๊ฒ ํ๊ธฐ ์ํด ๋ถ์ฐ ์บ์๊ฐ ํ์ํฉ๋๋ค.
โ ๋ถ์ฐ ์บ์
๋ถ์ฐ ์บ์๋ ์๋ฒ ๋ฐ์ ์๋ ๋ณ๋์ ์ธ๋ถ ์บ์ ์๋ฒ์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ค๊ณผ ์ฐ๊ฒฐ๋์ด ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์์๋ ์บ์์์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
๋ํ์ ์ธ ๋ถ์ฐ ์บ์๋ก๋ Redis, Memcached ๋ฑ์ด ์์ต๋๋ค.
์ด๋ฌํ ๋ถ์ฐ ์บ์๋ ์ฌ๋ฌ ๋์ ์บ์ ์๋ฒ์ ๋๋์ด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ ์ ์ฅํ์ฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์บ์ฑํฉ๋๋ค.
๊ฐ ์บ์ ์๋ฒ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์บ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค.
๋ถ์ฐ ์บ์์์์ ๋ฐ์ดํฐ ๊ณต์
์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๊ฐ ์บ์ ํด๋ฌ์คํฐ์ ์ ๊ทผํฉ๋๋ค.
์ฆ ๋ชจ๋ WAS ์๋ฒ๊ฐ ๊ฐ์ ๋ถ์ฐ ์บ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค.
์บ์ ํด๋ฌ์คํฐ ๋ด์๋ ๋ถ์ฐ ์บ์ ์๋ฒ๊ฐ '๋ ธ๋'๋ผ๋ ์ด๋ฆ์ผ๋ก ์ฌ๋ฌ ๋ ์กด์ฌํฉ๋๋ค.
- โ ๋ฐ์ดํฐ ๋ถ์ฐ ์ ์ฅ: ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋๋์ด ์ ์ฅํ์ฌ, ํ ์๋ฒ์ ๋ถํ๊ฐ ์ง์ค๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- โ ํ์ฅ์ฑ: ๋ ธ๋(์บ์ ์๋ฒ)๋ฅผ ์ถ๊ฐํ์ฌ ์บ์ ์ฉ๋๊ณผ ์ฑ๋ฅ์ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค.
- โ
๋ฐ์ดํฐ ์ผ๊ด์ฑ: ์ฌ๋ฌ ์๋ฒ๊ฐ ๋์ผํ ์บ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฏ๋ก, ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ๋ถ์ฐ ์บ์๋ ์๋ฒฝํ ์ค์๊ฐ ๋๊ธฐํ๋ณด๋ค๋ ์ผ์ ํ ์๊ฐ ๋ด์ ๋ชจ๋ ๋ ธ๋๊ฐ ๋์ผํ ๋ฐ์ดํฐ ์ํ๋ก ์๋ ดํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ์ต์ข ์ ์ผ๊ด์ฑ(Eventual Consistency)์ด๋ผ๊ณ ํฉ๋๋ค.
- โ ๊ณ ๊ฐ์ฉ์ฑ: ์ผ๋ถ ๋ ธ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํด๋, ๋๋จธ์ง ๋ ธ๋๊ฐ ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ์ฌ ์์ ์ ์ ๋๋ค.
๋ถ์ฐ ์บ์ ์ญ์ ์ฃผ์ํ ์ ์ด ์์ต๋๋ค.
- โ ๏ธ ์๋์ ์ผ๋ก ๋๋ฆฐ ์๋: ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ๊ทผ์ด ํ์ํ๋ฏ๋ก ๋ก์ปฌ ์บ์์ ๋นํด ๋๋ฆฝ๋๋ค.
- โ ๏ธ ๋ณต์ก์ฑ: ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๊ด๋ฆฌ๋ ์ฌ๋ฌ ๋์ ์บ์ ์๋ฒ๋ฅผ ๊ด๋ฆฌํด์ผํ๋ฏ๋ก ๋ ธ๋ ์ฅ์ ๋ฐ์ ์ ๋ณต๊ตฌ ์ ๋ต ์๋ฆฝ์ด๋ ๋คํธ์ํฌ ๋ณ๋ชฉ ๋ฑ ์ ์ง๋ณด์์ ์ ๊ฒฝ์จ์ผ ํฉ๋๋ค.
- โ ๏ธ ๋น์ฉ ์ฆ๊ฐ: ์ถ๊ฐ ์๋ฒ๊ฐ ํ์ํ๋ฏ๋ก ๋ก์ปฌ ์บ์์ ๋นํด ๋ง์ ๋น์ฉ์ด ํ์ํฉ๋๋ค.
โ์ด๋ค ์บ์๋ฅผ ์ฌ์ฉํด์ผ ํ ๊น?
๐ ๋ก์ปฌ ์บ์ |
๋จ์ผ ์๋ฒ ํ๊ฒฝ |
๋น ๋ฅธ ์๋ต ์๋ ์ค์ํ ์๋น์ค | |
๋ณ๊ฒฝ์ด ์ ๊ณ , ์์ฃผ ์กฐํ๋๋ ๋ฐ์ดํฐ (๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ์ค์๊ฐ์ผ๋ก ๋ง์ง ์์๋ ๋๋ ๊ฒฝ์ฐ) |
|
๐ฐ๏ธ ๋ถ์ฐ ์บ์ | ์บ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ์ค์ํ ๋ (๋์ผํ ์บ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์๋ฒ์์ ๊ณต์ ํด์ผ ํ ๋) |
ํ์ฅ์ฑ์ด ์ค์ํ ์๋น์ค | |
๋๊ท๋ชจ ํธ๋ํฝ์ด ์๋ ์๋น์ค |
๊ฐ ์บ์๋ฅผ ์ฌ์ฉํ๋ ์์์ ๋๋ค.
- ๋ก๊ทธ์ธ ์ธ์
: ๋ถ์ฐ ์บ์
- ๋ถ์ฐ ํ๊ฒฝ์์ ๊ฐ ์๋ฒ๊ฐ ์ด๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ธ์ง ์๊ณ ์ธ๊ฐ๋ฅผ ๋ด๋ฆฌ๊ธฐ ์ํด์๋ ๋ก๊ทธ์ธ ์ธ์ ์ ๋ณด๊ฐ ๊ณต์ ๋์ด์ผ ํ๋ฏ๋ก ๋ถ์ฐ ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์นดํ
๊ณ ๋ฆฌ ์กฐํ : ๋ก์ปฌ ์บ์
- ๋ณ๊ฒฝ์ด ๊ฑฐ์ ์๊ณ , ์์ฃผ ์กฐํ๋๋ฏ๋ก ๋น ๋ฅธ ์๋ต์ด ์ค์ํ๋ฏ๋ก ๋ก์ปฌ ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ค์๊ฐ ์ธ๊ธฐ๊ธ : ๋ถ์ฐ ์บ์
- ์ฌ๋ฌ ์๋ฒ์์ ์ค์๊ฐ์ผ๋ก ์ง๊ณํ๊ณ ๊ณต์ ํด์ผ ํ๋ ๋ฐ์ดํฐ๋ ๋ถ์ฐ ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ ์๋ฃ
[Spring] ๋ก์ปฌ ์บ์(Local Cache) ๋์ ์ผ๋ก ์ฑ๋ฅ ๊ฐ์ ํ๊ธฐ
๋ถ์ฐ ์์คํ ์์ ๋ก์ปฌ ์บ์ ํ์ฉํ๊ธฐ
๋ก์ปฌ ์บ์ฑ๊ณผ ๋ถ์ฐ ์บ์ฑ
[Spring] ๋ก์ปฌ์บ์ vs ๋ถ์ฐ์บ์
'โ๏ธ CS & ๊ธฐํ ๊ฐ๋ฐ ์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์บ์(Cache) ๊ฐ๋ ์ฝ๊ฒ ์ ๋ฆฌํ๊ธฐ (1) | 2025.06.03 |
---|---|
[OS] ๋ฉํฐ์ค๋ ๋์์ ๊ฒฝ์ ์ํ ํด๊ฒฐ: ์ํธ ๋ฐฐ์ (๋ฎคํ ์ค์ ์ธ๋งํฌ์ด) (2) | 2025.06.02 |
โ๏ธ ํ๋ก์ธ์ค(Process) / ์ค๋ ๋(Thread) ๊ฐ๋ ์ ๋ฆฌ (3) | 2025.06.02 |
๋๋ฒ๊น ์ ์ค์์ฑ (0) | 2025.05.14 |
[๊นํ๋ธ] Codecov ์ ์ฉํ์ฌ PR์ ํ ์คํธ ์ปค๋ฒ๋ฆฌ ๋ฑ์ง ๋ฌ๊ธฐ (1) | 2025.04.25 |