๐ฌ Redis ๋? Redis๋ โREmote DIctionary Serviceโ ์ ์ฝ์๋ก RAM ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์กฐํ ๋ฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅธ ์คํ์์ค ๋ฐ์ดํฐ ์ ์ฅ์์ ๋๋ค. ํ์ง๋ง RA
๐ฌ Redis ๋? Redis๋ โREmote DIctionary Serviceโ ์ ์ฝ์๋ก RAM ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์กฐํ ๋ฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅธ ์คํ์์ค ๋ฐ์ดํฐ ์ ์ฅ์์ ๋๋ค. ํ์ง๋ง RAM ์ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ์ ์์ด ๊บผ์ง๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค. ๊ทธ๋์ Redis ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ์์ ๋นํด ๋ด๊ตฌ์ฑ ์๊ณ ์ผ๊ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋๋๋ค. ๐ฌ Redis ์ ์ฅ์ - ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ์ฝ๊ธฐ ์ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. - ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฏ๋ก ๋๊ธฐ ์๊ฐ์ด ์งง๊ณ ์ฒ๋ฆฌ๋์ด ๋์ ๋ฐ์ดํฐ ์ก์ธ์ค๊ฐ ๊ฐ๋ฅํฉ๋๋ค. - ๋ค์ํ ๋ฐ์ดํฐ ํ์(String, List, Set, Map, Streams, JSON ๋ฑ)์ ์ง์ํฉ๋๋ค. - ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌ๋ฆฌ Redis๋ ํด์ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ธํด ํจ์ฌ โโ๊ฐ๋จํฉ๋๋ค. ๊ทธ๋์ ํ ์ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ Redis ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค. - ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Python, Java, C, C++ ๋ฑ)๋ฅผ ์ง์ํฉ๋๋ค. - ๊ธฐ๋ณธ ๋ณต์ ๋ณธ ์ํคํ ์ฒ๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ Redis ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ์ฝ๊ฒ ๋ณต์ ํ ์ ์์ต๋๋ค. - ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ ์ด ๋ฐ์ด ๋ฉ๋๋ค. ๊ธฐ๋ณธ ๋ณต์ ๋ณธ ๋๋ ํด๋ฌ์คํฐ๋ ํ ํด๋ก์ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Redis๋ ์ผ๊ด๋ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ์ ๊ณต ํฉ๋๋ค. - ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ญ์ ์ํฌ ์ ์์ต๋๋ค.(key ๊ฐ์ ๋ํด expire time ์ ์ค์ ํ ์ ์์ต๋๋ค.) ๐ฌ Redis ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ข์ ์ผ์ด์ค - ๋น ๋ฅด๊ฒ ์ ์ฅ ๋ฐ ์กฐํ๊ฐ ํ์ํ ์บ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ ํ ๋ ์ฌ์ฉํฉ๋๋ค. - ๊ฒ์ ์์ํ ๊ตฌํ: ์์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค Redis ์ ์ ๋ฐ์ดํธํ๊ณ ์ด๋ฅผ ์ฆ์ ์กฐํ ํ์ฌ ๋ฐ์ ๊ฐ๋ฅํฉ๋๋ค. - ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์ ์ ์ฅ์๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. - ์์ ๋ฐฐ๋ฌ ๋ฐ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ GeoSpatial ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. - ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ง, ์ฒ๋ฆฌ ๋ฐ ๋ถ์ํ๊ธฐ ์ํ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ก Apache Kafka์ ๊ฐ์ ์คํธ๋ฆฌ๋ฐ ์๋ฃจ์ ๊ณผ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๐ฌ Redis ๋ฅผ ์ฌ์ฉํ๊ธฐ ํ๋ ์ผ์ด์ค - ์ค์ํ ๋น์ฆ๋์ค ๋ฐ์ดํฐ(ํ์, ๊ฒฐ์ ๋ฑ)๋ Redis ์ ์ ์ฅํด์๋ ์ ๋ฉ๋๋ค. ์ง์์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. - join ๊ณผ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ๋์์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. Redis๋ key-value ํํ๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ key ๋ฅผ ํตํด์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. - ๋ฐ์ดํฐ๊ฐ ๋งค์ฐ ๋ง์ด ์์ฌ์ผํ ๊ฒฝ์ฐ RAM ์ด ๋์คํฌ์ ๋นํด ํจ์ฌ ๋น์ธ๊ณ ์ ์ฅ ๊ณต๊ฐ์ด ์ ํ๋์ด ์์ผ๋ฏ๋ก ์ด๋ด ๊ฒฝ์ฐ Redis ๋ณด๋ค๋ ๋์คํฌ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. - ACID ์์ฑ์ด ํ์ํ๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ๋์ ๊ด๊ณํ์ธ ๊ฒฝ์ฐ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.