Redis

  • Redis(Remote Dictionary Server)๋Š” kvp ๊ตฌ์กฐ์˜ ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ธ๋ฉ”๋ชจ๋ฆฌ NoSQL ์ €์žฅ์†Œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ์บ์‹œ, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ์ข… ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์›ํ•œ๋‹ค.

Data Types

Strings

  • ๋ฌธ์ž์—ด์€ ๋ ˆ๋””์Šค ๊ฐ’์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํƒ€์ž…์ด๋‹ค.
  • INCR, APPEND ๋“ฑ ๊ฐ์ข… ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Lists

  • ๋ฆฌ์ŠคํŠธ๋Š” ๋ฌธ์ž์—ด์˜ ๋ฆฌ์ŠคํŠธ๋‹ค.
  • LPUSH, RPUSH ๋“ฑ์˜ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Sets

  • ์ง‘ํ•ฉ์€ ๋ฌธ์ž์—ด์˜ ์ˆœ์„œ์—†๋Š” ์ปฌ๋ ‰์…˜์ด๋‹ค.
  • SADD, SPOP, SMEMBERS ๋“ฑ์˜ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Hashes

  • ํ•ด์‹œ๋Š” ๋ฌธ์ž์—ด ํ•„๋“œ์™€ ๋ฌธ์ž์—ด ๊ฐ’์œผ๋กœ ์ด๋ค„์ง„ ๋งต์ด๋‹ค.
  • ๋”ฐ๋ผ์„œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์— ๊ฐ€์ž‘ ์ ํ•ฉํ•œ ํƒ€์ž…์ด๋‹ค.
  • HSET, HMSET, HGETALL ๋“ฑ์˜ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Sorted sets

  • ์ง‘ํ•ฉ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ ์ˆ˜๋กœ ์ •๋ ฌ๋˜๋Š” ์ˆœ์„œ์žˆ๋Š” ์ปฌ๋ ‰์…˜์ด๋‹ค.
  • ZADD, ZRANK ๋“ฑ์˜ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Commands

SET

  • ํ‚ค์™€ ๊ฐ’์„ ์ธ์ž๋กœ ๋ฐ›์•„ kvp ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
redis> SET key โ€valueโ€
โ€œOKโ€

GET

  • ํ‚ค๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„ ํ•ด๋‹น ํ‚ค์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
redis> SET key โ€œvalueโ€
โ€œOKโ€

redis> GET key
โ€œvalueโ€

DEL

  • ํ‚ค๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„ ํ•ด๋‹น ํ‚ค์™€ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค. ์‚ญ์ œํ•œ ํ‚ค์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํ‚ค๊ฐ€ ์—†์œผ๋ฉด ๋ฌด์‹œํ•œ๋‹ค.
redis> SET key1 โ€œvalueโ€
โ€œOKโ€

redis> SET key2 โ€œvalueโ€
โ€œOKโ€

redis> DEL key1 key2 key3
(integer) 2

INCR

  • ํ‚ค๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„ ํ•ด๋‹น ํ‚ค์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ๋ฐ˜ํ™˜ํ•œ๋‹ค.
redis> SET key โ€œ10โ€
โ€œOKโ€

redis> INCR key
(integer) 11

redis> GET key
โ€œ11โ€

KEYS

  • ํŒจํ„ด์„ ์ธ์ž๋กœ ๋ฐ›์•„ ํ•ด๋‹น ํŒจํ„ด์— ๋งž๋Š” ๋ชจ๋“  ํ‚ค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • h?llo matches hello, hallo and hxllo
    • h*llo matches hllo and heeeello
    • h[ae]llo matches hello and hallo, but not hillo
    • h[^e]llo matches hallo, hbllo, โ€ฆ but not hello
    • h[a-b]llo matches hallo and hbllo
  • ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค.
redis> SET key1 "value1" key2 "value2"
"OK"

redis> KEYS key1
1) "key1"

redis> KKEYS *
1) "key1"
2) "key2"

SCAN

  • ์ปค์„œ ๊ธฐ๋ฐ˜ ํ‚ค ์ดํ„ฐ๋ ˆ์ดํ„ฐ.
  • KEYS์™€ ๋น„์Šทํ•˜์ง€๋งŒ ์ œํ•œ๋œ ๋ฒ„ํ‚ท์„ ์ˆœํšŒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๋•์…˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ž‘๋‹ค.
redis> scan 0
1) "17"
2)  1) "key:12"
    2) "key:8"
    3) "key:4"
    4) "key:14"
    5) "key:16"
    6) "key:17"
    7) "key:15"
    8) "key:10"
    9) "key:3"
   10) "key:7"
   11) "key:1"

redis> scan 17
1) "0"
2) 1) "key:5"
   2) "key:18"
   3) "key:0"
   4) "key:2"
   5) "key:19"
   6) "key:13"
   7) "key:6"
   8) "key:9"
   9) "key:11"

ํ•˜์œ„๋ฌธ์„œ

์ฐธ๊ณ ์ž๋ฃŒ

์ด ๋ฌธ์„œ๋ฅผ ์ธ์šฉํ•œ ๋ฌธ์„œ