๐ป Redis ์บ์ฌ ์ ๋ต - hello ์๋น์ค์ ์ ์ฉํ์ฌ ์ฑ๋ฅ๊ฐ์ ๊ฐ๋ฅ์ฑ
Spring Cache Abstraction ์ฌ์ฉ
@Cacheable
, @CachePut
, @CacheEvict
์ ๊ฐ์ ์ด๋
ธํ
์ด์
์ ์ ๊ณตํ์ฌ ๊ฐ๋จํ ์บ์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.CacheManager
)๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์์ฝ๊ฒ ํตํฉํ ์ ์์ต๋๋ค.๋ฐ์ดํฐ ๊ณ์ธต ์บ์ฑ
๋ถํ ํค ์ ๋ต(Key Partitioning)
user:{id}
, product:{id}
์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํ์ฌ ์ถฉ๋ ๋ฐฉ์ง.TTL(Time-To-Live) ์ค์
Eviction ์ ์ฑ
Multi-Level ์บ์ฑ
๋๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
Hash
๋๋ Set
์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅ ๋ฐ ๊ด๋ฆฌํฉ๋๋ค.Pub/Sub๋ฅผ ํ์ฉํ ์บ์ ๋ฌดํจํ
๋ถ์ฐ ํ๊ฒฝ์์ ์บ์
DB ์ฟผ๋ฆฌ ๊ฐ์
๋น ๋ฅธ ๋ฐ์ดํฐ ์ก์ธ์ค
๋์ ํ์ฅ์ฑ
๋ฐ์ดํฐ ๋๊ธฐํ ๋น์ฉ ์ ๊ฐ
์บ์ ์ ์ค๋ฅ ์ฆ๊ฐ
๊ฒฐ๊ณผ์ ์ผ๋ก ๋น์ฉ ์ ๊ฐ
๋ฐ์ดํฐ ์ผ๊ด์ฑ
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
๋ณต์ก์ฑ ์ฆ๊ฐ
์ด๋ฌํ ๊ฒฝ์ฐ ์ฌ ์กฐํ๋, ๊ฒ์ ํํฐ ์ ์ฉ์ ๋ฐ์ดํฐ ์ต์ ํ ํ์๋๊ฐ ๋จ์ด์ง๊ธฐ ๋๋ฌธ์, ์บ์ฌ ์ ๋ต์ ์ฌ์ฉํ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์๊ฒ์ผ๋ก ์์๋จ
๋ํ ์ฑ๊ณต ์คํจ์ฌ๋ถ ๋ฐ ํ์๋ฅผ ์ ์ฅํ์ฌ ๋ฆฌํธ๋ผ์ด ๋ก์ง ๋ฑ๋ ์ถ๊ฐํ ์์์ผ๋ฉฐ, ๋ชจ๋ ํ๋ก์ ํธ์ api์ ๊ณตํต์ผ๋ก ์ ์ฉํ์ฌ ์ฌ์ฉํ ์ ์์.
"coordinates": [ 128.0827, 37.6061 ], ์๋/๊ฒฝ๋ ๋ฐ ์๊ฐ ์ ๋ณด๋ฅผ ์บ์ฌ์ ์ทจํฉ ํ, ์๊ตฌ์ ์ฅ DB ๋๋ถ๋ฅ(์ง์ญ ๋ฐ ์๊ฐ๋) ๋ก ์นด์ดํธ๋ฅผ ์ง๊ณํ์ฌ, ๋ง์ผํ ์์ฒญ์ ๊ด๊ณ ํ๊ฒ ์์น ๋ฐ ์๊ฐ๋๋ฅผ ์ง์ ํ์ฌ ๊ด๊ณ ์์ฒญ์ ํ๋ค๋ฉด ์ ์๋น์ฉ ๋๋น ๋์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค.