๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/celery + redis

[Redis] Redis์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ •๋ฆฌ

by ๋ฐ”์ฟ„๋ฆฌ 2023. 12. 4.

 

 

โœ… Redis ?

Remote Dictionary Server์˜ ์•ฝ์ž

* Remote : Redis๊ฐ€ ๊ฐ๊ฐ์˜ ์„œ๋ฒ„ ์•ˆ์— ๋กœ์ปฌํ•˜๊ฒŒ ์กด์žฌํ•˜์ง€ ์•Š๊ณ , ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์›๊ฒฉ์— ์กด์žฌ

* Dictionary : ํ•ด์‹œ๋งต๊ณผ ๊ฐ™์ด key-value ํ˜•ํƒœ๋กœ ์ƒ์ˆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ

 

Redis๋Š” ํ‘œ์ค€ C๋กœ ์ž‘์„ฑ๋œ ์˜คํ”ˆ์†Œ์Šค ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ด๋‹ค.

* ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ : ๋ฐฑ์—…์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋žจ์— ์ €์žฅํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋žจ์€ ๋””์Šคํฌ์— ๋น„ํ•ด ๋งค์šฐ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— Redis๋Š” ๊ธฐ๋ณธ์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€ ๋‹ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

โœ… ํŠน์ง•

1. In-Memory : ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋žจ์— ์ €์žฅ

2. Single Thread

3. Cluster Mode : ๋‹ค์ค‘ ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ €์žฅ → ์•ˆ์ •์„ฑ, ๊ณ ๊ฐ€์šฉ์„ฑ

4. Persistence

    - ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—ฌ์„œ ํœ˜๋ฐœ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€๋งŒ RDB(Redis Database)์™€AOF(Append only file) ์˜ต์…˜์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ •ํ•˜๊ฒŒ ์˜์†์ ์œผ๋กœ ๊ด€๋ฆฌ

    - SSD์™€ ๊ฐ™์€ ์˜๊ตฌ์ ์ธ ์ €์žฅ ์žฅ์น˜์— ๋ฐ์ดํ„ฐ ์ €์žฅ

    - RDB (Redis Database) : ํŠน์ • ์‹œ๊ฐ„์— ์Šค๋ƒ…์ƒท์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ , ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํŠน์ • ์‹œ์ ์— ์Šค๋ƒ…์ƒท์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์บ์‹œ๋ฅผ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜  ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ์บ์‹œ๋ฅผ ๋ณต์ œํ•  ๋•Œ ์ฃผ๋กœ ์“ฐ์ž„

    - AOF (Append only file) : Redis์— ์ ์šฉ๋˜๋Š” ๋ชจ๋“  write ์ž‘์—…์„ ๋ชจ๋‘ ๋กœ๊ทธ๋กœ ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ 

5. Pub/Sub : ์ฑ„ํŒ…์ด๋‚˜ ์•Œ๋ฆผ ์„œ๋น„์Šค์™€ ๊ฐ™์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

 

โœ… Redis ์‚ฌ์šฉ ์‚ฌ๋ก€

1. Caching : ์ž„์‹œ ๋ฐ์ดํ„ฐ(์ž„์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋กœ๊ทธ์ธ ์„ธ์…˜)๋ฅผ ์บ์‹ฑ

2. Rate Limit : ์„œ๋ฒ„์—์„œ ํŠน์ • API์— ๋Œ€ํ•œ ์š”์ฒญ ํšŸ์ˆ˜๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

3. Message Broker

4. ์‹ค์‹œ๊ฐ„ ๋ถ„์„ / ๊ณ„์‚ฐ

5. ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… 

 

 


 

์•„๋ž˜์˜ ์ธํ„ฐ๋„ท ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

์‹ค์ „! Redis ํ™œ์šฉ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

๋ฐฐ์›Œ์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Redis ๊ฐ•์ขŒ์ž…๋‹ˆ๋‹ค!, ํŠœํ† ๋ฆฌ์–ผ ์ˆ˜์ค€์˜ ๊ฐ•์˜๋Š” ๊ทธ๋งŒ ๐Ÿ™…‍โ™‚๏ธ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์‹ค๋ฌด์— ๋ฐ”๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Redis ๊ฐ•์˜์ž…๋‹ˆ๋‹ค! [์ž„๋ฒ ๋”ฉ ์˜์ƒ] Key-Value NoSQL ๋ถ€๋™์˜ 1์œ„, Re

www.inflearn.com