Redis - boostcamp-2020/Project03-A-TOTP GitHub Wiki
Session ์ ๋ณด๋ฅผ ์ด๋์ ์ ์ฅํ ๊น?
- ๋ฉ๋ชจ๋ฆฌ์?
- production ํ๊ฒฝ์์๋ ์ ํฉํ์ง ์๋ค๊ณ ํ๋ค express-session ์ฐธ๊ณ
- php๋ ํ์ผ๋ก ์ ์ฅ
- spring์ redis ์ฌ์ฉ
NoSQL vs SQL Databases
NoSQL์ด ์ฝ๋ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๊ณ ํ๋ค
Redis vs Memcached vs MongoDB
https://db-engines.com/en/system/Redis%3BMemcached%3BMongoDB
ํญ๋ชฉ | Redis | Memcached | MongoDB |
---|---|---|---|
์ค๋ช | In-memory ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ ์ฅ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์บ์, ๋ฉ์์ง ๋ธ๋ก์ปค์ ์ฌ์ฉ๋๋ค | In-memory ํค-๋ฐธ๋ฅ ์ ์ฅ์, ์บ์ฑ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค | ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฌธ์ ์ ์ฅ์(document stroe) |
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ | Key-value store | Key-value store | Document store |
๊ฐ๋ฐ ์ฐ๋ | 2009 | 2003 | 2009 |
๋ฐ์ดํฐ ํ์ | string, hash, list, set, sorted set, bit array, hyperloglog, geospatial index | string | string, integer, double, decimal, boolean, date, object_id, geospatial |
Redis vs Memcached
- ๋งด์บ์ฌ๋๋ ๋ช ๋ฃํ๊ณ ๋จ์ํจ์ ์ํ์ฌ ๊ฐ๋ฐ๋ ๋ฐ๋ฉด, ๋ ๋์ค๋ ๋ค์ํ ์ฉ๋์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ง์ ํน์ง์ ๊ฐ์ง๊ณ ๊ฐ๋ฐ๋์์ต๋๋ค
- ๊ณตํต์
- ๋ ๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ 1ms ์ดํ์ ๋น ๋ฅธ ์๋ต๋๊ธฐ์๊ฐ์ ๊ฐ์ง๋๋ค
- Redis ๐
- Redis๊ฐ ๋ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ง์ํฉ๋๋ค
- Memcached๋ ๋ฉ๋ชจ๋ฆฌ์๋ง ์ ์ฅํด์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์ง๋ง, Redis๋ ๋์คํฌ์๋ ์ ์ฅํ๋ฏ๋ก ๋ฐ์ดํฐ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค
- ๋ฐ์ดํฐ ์ญ์ ์ ์ฑ ์ด ๋ค์ํ๋ค. Memcached๋ LRU ์ญ์ ์ ์ฑ ๋ง ์ง์ํ๋ค. ๋ฐ๋ฉด Redis๋ ์ข๋ ๋ค์ํ๋ค
- ํ ๊ฐ์ ํค์ ์ ์ฅํ ์ ์๋ VALUE์ ๋ฒ์๊ฐ 521MB๋ก, 1MB์ธ Memcached์ ๋นํด ๋ ํฌ๋ค
- Memcached ๐
- Memcahed๋ ๋ฉํฐ์ค๋ ๋๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ ๋ฉํฐ์ฝ์ดํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์์ ๋ ๋ง์ ์์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค
- ๋ฉ๋ชจ๋ฆฌ๋ Memcached๊ฐ ๋ ์ ๊ฒ ์๊ตฌํฉ๋๋ค (Redis๋ ํ์ํ ๋ฉ๋ชจ๋ฆฌ์ 2๋ฐฐ๊ฐ ํ์ํจ)
๋๋ถ๋ถ์ ๊ฒฝ์ฐ์์๋ Redis๋ฅผ ์ถ์ฒํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค