Post

๐Ÿงฐ Redis (01) - Redis ๊ธฐ๋ณธ ๋ช…๋ น์–ด, Key ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜



ํ•™์Šต ํ™˜๊ฒฝ : Mac, iTerm

Redis ๊ธฐ๋ณธ ๋ช…๋ น์–ด

โœ”๏ธ ย Redis ์‹คํ–‰ / ์‹คํ–‰ ์—ฌ๋ถ€ ํ™•์ธ / ์ค‘์ง€

1
2
3
4
5
6
7
8
# redis ์‹คํ–‰
brew services start redis

# redis ์‹คํ–‰ ์—ฌ๋ถ€ ํ™•์ธ
brew services info redis

# redis ์ค‘์ง€
brew services stop redis

img

โœ”๏ธ ย Redis ์ ‘์†

1
2
3
4
redis-cli # Redis์— ์ ‘์†

127.0.0.1:6379> ping
PONG # ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅ๋˜๋ฉด ์ •์ƒ์ ์œผ๋กœ Redis๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋Š” ๋œป

img


โœ”๏ธ ย ๋ฐ์ดํ„ฐ(Key, Value) ์ €์žฅํ•˜๊ธฐ

1
2
3
4
5
# set [key ์ด๋ฆ„] [value]
# ๋ฐ์ดํ„ฐ ์ €์žฅ ์„ฑ๊ณต ์‹œ OK๊ฐ€ ์ถœ๋ ฅ๋จ

set bokyung:name "bokyung kim" # ๋„์–ด์“ฐ๊ธฐํ•ด์„œ ์ €์žฅํ•˜๋ ค๋ฉด ์Œ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด์ฃผ๋ฉด ๋จ
set bokyung:hobby game

โœ”๏ธ ย ๋ฐ์ดํ„ฐ ์กฐํšŒํ•˜๊ธฐ (Key ๊ฐ’์œผ๋กœ Value ๊ฐ’ ์กฐํšŒํ•˜๊ธฐ)

1
2
3
4
5
6
7
# get [key ์ด๋ฆ„]
# key ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” value ๊ฐ’์ด ์ถœ๋ ฅ๋จ

get bokyung:name # "bokyung kim" ์ถœ๋ ฅ๋จ
get bokyung:hobby # game ์ถœ๋ ฅ๋จ

get bk:name # ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๊ฒฝ์šฐ (nil)์ด๋ผ๊ณ  ์ถœ๋ ฅ๋จ

โœ”๏ธ ย ์ €์žฅ๋œ ๋ชจ๋“  key ์กฐํšŒํ•˜๊ธฐ

1
2
3
4
5
6
keys *

# 1) "bokyung:name"
# 2) "bokyung:hobby"

# key๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ (empty array) ์ถœ๋ ฅ

โœ”๏ธ ย ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ (Key ๊ฐ’์œผ๋กœ ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ)

1
2
3
4
5
6
# del [key ์ด๋ฆ„]
# ์‚ญ์ œ๋œ key์˜ index๋ฅผ ์ถœ๋ ฅ

del bokyung:hobby # (integer) 1 ์ถœ๋ ฅ

get bokyung:hobby # ์‚ญ์ œ๋๋Š” ์ง€ ํ™•์ธ -> (nil) ์ถœ๋ ฅ

โœ”๏ธ ย ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹œ ๋งŒ๋ฃŒ์‹œ๊ฐ„(TTL) ์ •ํ•˜๊ธฐ

1
2
3
4
5
# set [key ์ด๋ฆ„] [value] ex [๋งŒ๋ฃŒ ์‹œ๊ฐ„(์ดˆ)]
# ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ์ž„๊ณ„์ ์„ ์ •ํ•ด ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ
# (์ธ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋””์Šคํฌ๋ณด๋‹ค ์ž‘๊ธฐ ๋•Œ๋ฌธ์— TTL์„ ์ž์ฃผ ์ ์šฉ)

set bokyung:pet cat ex 15

โœ”๏ธ ย ๋งŒ๋ฃŒ์‹œ๊ฐ„(TTL) ํ™•์ธํ•˜๊ธฐ

1
2
3
4
5
6
7
8
# ttl [key ์ด๋ฆ„]
# ๋งŒ๋ฃŒ ์‹œ๊ฐ„์ด ๋ช‡ ์ดˆ ๋‚จ์•˜๋Š” ์ง€ ๋ฐ˜ํ™˜
# ํ‚ค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ -2๋ฅผ ๋ฐ˜ํ™˜
# ํ‚ค๋Š” ์กด์žฌํ•˜์ง€๋งŒ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์ด ์„ค์ •๋ผ ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” -1์„ ๋ฐ˜ํ™˜

ttl bokyung:pet # ๋‚จ์€ ์‹œ๊ฐ„ ์ถœ๋ ฅ -> ์˜ˆ) (integer) 10 , ๋งŒ๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด (integer) -2 ์ถœ๋ ฅ
ttl bokyung:name # (integer) -1 ์ถœ๋ ฅ
ttl bk:name # (integer) -2 ์ถœ๋ ฅ

img

โœ”๏ธ ย ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

1
flushall # ์„ฑ๊ณต ์‹œ OK ์ถœ๋ ฅ



Key ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

โœ”๏ธ ย ์ฝœ๋ก (:)์„ ํ™œ์šฉํ•ด ๊ณ„์ธต์ ์œผ๋กœ ์˜๋ฏธ๋ฅผ ๊ตฌ๋ถ„ํ•ด ์‚ฌ์šฉ

  • users:100:profiles : ์‚ฌ์šฉ์ž๋“ค(users)์ค‘์—์„œ PK๊ฐ€ 100์ธ ์‚ฌ์šฉ์ž(user)์˜ ํ”„๋กœํ•„(profile)
  • products:123:details : ์ƒํ’ˆ๋“ค(products)์ค‘์—์„œ PK๊ฐ€ 123์ธ ์ƒํ’ˆ(product)์˜ ์„ธ๋ถ€์‚ฌํ•ญ(details)



๐Ÿ”— ย ํ•™์Šต ๊ฐ•์˜ ์˜์ƒ

This post is licensed under CC BY 4.0 by the author.