Redis - boostcampwm2023/web07-GBS GitHub Wiki

Redis๋ž€

  • Remote Dictionary Server์˜ ์•ฝ์ž
  • key - value ๊ธฐ๋ฐ˜ in memory ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ €์žฅ์†Œ
  • ์„œ๋ฒ„์˜ ์ฃผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ

๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(Collection)

์•„๋ž˜์™€ ๊ฐ™์€ 7๊ฐ€์ง€์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค

  • strings: ํ‚ค์™€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์œ ํ˜•์˜ ๊ฐ’์œผ๋กœ ํ‚ค-๊ฐ’ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๊ฐ’์€ ์ตœ๋Œ€ 512MB๋ณด๋‹ค ํด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • hashes: ๊ฐ’์˜ ๋ชฉ๋ก์„ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • lists: ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๋Š” ๋ฌธ์ž์—ด ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.
  • sets: ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • sorted sets: ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์„œ๊ฐ€ ์ •๋ ฌ๋œ ์„ธํŠธ
  • bitmaps: ์‹ค์ œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์•„๋‹Œ ๋ฌธ์ž์—ด ์œ ํ˜•์— ์ •์˜๋œ ๋น„ํŠธ ์ง€ํ–ฅ ์—ฐ์‚ฐ์˜ ์ง‘ํ•ฉ
  • hyperLogLogs(HLL): ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋‚ด ๊ณ ์œ  ํ•ญ๋ชฉ์„ ์ถ”์ •ํ•˜๋ฆฌ ์œ„ํ•œ ํ™•๋ฅ ์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ

Redis๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ํ˜•์‹์˜ Event Loop ๋ฐฉ์‹์ด๋ฉฐ,ย  I/O Multiplexing์„ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค

docker redis ์„ค์น˜

  1. redis ์ด๋ฏธ์ง€ ๋ฐ›๊ธฐ

    docker pull redis
    
  2. redis ์‹คํ–‰

    $ sudo docker run -p 6379:6379 redis
    
  3. redis container ์ ‘์†

    docker exec -it redis /bin/bash
    
  4. redis ์ ‘์†

    /data# redis-cli