DB/Redis

[Redis] Redis ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ๋ช…๋ น์–ด

giraffe_ 2024. 2. 2. 00:56

 Redis๋Š” key-value ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  Redis๋Š” key์— ํ•ด๋‹นํ•˜๋Š” value์˜ ๊ฐ’์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

 Redis๋Š” String, Set, List, Hash, Sorted Set ๋“ฑ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋งž๋Š” ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ถœ์ฒ˜ : https://forum.redis.com/t/about-redis-commands-data-structures/13

 

 

 

 

 

๋งŽ์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ, ๊ฐ€์žฅ ํ”ํ•˜๊ณ  ์ต์ˆ™ํ•œ String, Set, List, Hash, Sorted Set์— ๋Œ€ํ•ด์„œ๋งŒ ์†Œ๊ฐœํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

 

 

 

 

Strings

  • ๋ฌธ์ž์—ด(์ˆซ์ž, ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด, ์ด์ง„์ˆ˜ ๋“ฑ)์„ ์ €์žฅํ•œ๋‹ค.
  • 512MB๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ช…๋ น์–ด ๊ณต์‹ ๋ฌธ์„œ

 

 

 

 

 

์‚ฝ์ž…

SET name giraffe
MSET name2 turtle color green rating 10

 

 

์กฐํšŒ

GET name
MGET name2 color rating

 

 

์‚ญ์ œ

DEL name

 

 

์นด์šดํ„ฐ

INCR rating
DECR rating

INCRBY rating 5
DECRBY rating 5

 

 

 

 

 

 

์˜ต์…˜

  • `EX` (Expiration) : ํ‚ค์— ๋Œ€ํ•œ ๋งŒ๋ฃŒ ์‹œ๊ฐ„(์œ ํšจ ๊ธฐ๊ฐ„)์„ ์ดˆ ๋‹จ์œ„๋กœ ์„ค์ •
  • `NX` (Not eXists) : ํ‚ค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ๋งŒ ๊ฐ’์„ ์„ค์ •(ํ‚ค๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋ฉด ๋ช…๋ น์–ด๊ฐ€ ์‹คํŒจ)
  • `XX` (eXists) : ํ‚ค๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•  ๋•Œ๋งŒ ๊ฐ’์„ ์„ค์ •(ํ‚ค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋ช…๋ น์–ด๊ฐ€ ์‹คํŒจ)

 

SET name giraffe EX 7
SET name giraffe NX
SET name giraffe XX

 

 

 

 

Lists

  • ๋ฌธ์ž์—ด์„ ๋ฆฌ์ŠคํŠธ๋กœ ์ค‘๋ณตํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•ž๋’ค๋กœ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋ช…๋ น์–ด ๊ณต์‹ ๋ฌธ์„œ

 

 

 

 

์•ž์— ์‚ฝ์ž…/๋’ค์— ์‚ฝ์ž…

LPUSH animals giraffe
LPUSH animals tiger
RPUSH animals bear

 

 

n๊ฐœ๋ฅผ ์ œ๊ฑฐ

LPOP animals 1

 

 

๊ธธ์ด ์กฐํšŒ

LLEN animals

 

 

์ •ํ•ด์ง„ ๋ฒ”์œ„๋งŒํผ ์กฐํšŒ

LRANGE animals 0 1
LRANGE animals -2 -1 //๋์—์„œ 2๋ฒˆ์งธ~์ฒซ๋ฒˆ์งธ

 

 

์ธ๋ฑ์Šค์˜ ์›์†Œ ์กฐํšŒ

LINDEX animals 0

 

 

์›์†Œ์˜ ์ธ๋ฑ์Šค ์กฐํšŒ

LPOS animals bear

 

 

 

 

 

 

Sets

 

 

 

 

์‚ฝ์ž…

SADD people1 Noel Gem
SADD people2 Riam Andy

 

 

์‚ญ์ œ

SREM people1 Noel

 

 

์œ ๋‹ˆ์˜จ

SUNION people1 people2

 

 

์กด์žฌ ์—ฌ๋ถ€

SISMEMBER people1 Noel

 

 

 

 

 

Hashes

 

 

 

 

 

์‚ฝ์ž…

HSET songs:1 title 'Wonderwall'
HSET songs:1 artist 'Oasis'

 

 

์กฐํšŒ

HGET songs:1 title
HGETALL songs:1

 

 

์กด์žฌ ์—ฌ๋ถ€

HEXISTS songs:1 title

 

 

key ์กฐํšŒ

HKEYS songs:1

 

 

value ์กฐํšŒ

HVALS songs:1

 

 

์‚ญ์ œ

HDEL songs:1 artist
DEL songs:1

 

 

 

 

 

Sorted Sets

  • ๋ฌธ์ž์—ด๊ณผ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ์ ์ˆ˜์ˆœ(์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ)์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. (์ ์ˆ˜๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ๋Š” ๋ฌธ์ž์—ด ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ)
  • ๋ช…๋ น์–ด ๊ณต์‹ ๋ฌธ์„œ

 

 

 

 

 

์‚ฝ์ž…

ZADD books 7 "book1" 2 "book2" 9 "book3"

 

 

์กฐํšŒ

ZRANGE books 0 -1 //์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์›์†Œ๊นŒ์ง€
ZRANGE books 0 -1 withscores //์ ์ˆ˜๊นŒ์ง€ ๋ฐ˜ํ™˜

 

 

์‚ญ์ œ

DEL books

 

 

 

 

 

 

 

 

 

 

์ฐธ๊ณ 

 

Understand Redis data types

Overview of data types supported by Redis

redis.io

 

Redis for Beginners

 

www.youtube.com