Redis
Remote Dictionary Server
- ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ณ ์กฐํ
- ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ง์
- ์ฑ๊ธ Thread๋ก ๋์ํ๋ ์๋ฒ๋ก Atomicํ๊ฒ ๋์
Getting Started
Install Redis in CentOS 7
}
Install Redis in Docker
docker pull redis
docker run --name myredis -d -p 6379:6379 redis
Redis ๋์ํ๋์ง ํ์ธํ๊ธฐ
brew install redis-cli
์ค์นํ๊ธฐ
redis-cli ping
PONG
Redis ์ ๊ทผํ๊ธฐ
redis-cli
๋ฅผ ์น๋ฉด ๋ก์ปฌํธ์คํธ๋ก ์ ๊ทผํ๋ค.
๊ฐ๋จํ String ์ ์ฅํด๋ณด๊ธฐ
โฏ redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
Redis Collections
- String
- Key๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ?
- Key์ ๋ฐ๋ผ์ ๋ถ์ฐ์ด ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๊ณ ๋ คํด์ ์ค๊ณํ๊ธฐ
# single
SET <KEY> <VALUE>
GET <KEY>
# multi
MSET <KEY1> <VALUE1> <KEY2> <VALUE2>
MGET <KEY1> <KEY2>
- List Commends
- ์ค๊ฐ insert ๋ณต์ก๋๊ฐ ๋๋ค.
- Twitter์ Timeline Cache
# PUSH
LPUSH <KEY> <A> # (A)
RPUSH <KEY> <B> # (A, B)
LPUSH <KEY> <C> # (C, A, B)
RPUSH <KEY> <D, A> # (C, A, B, D, A)
# POP
LPOP <KEY> # C, (A, B, D, A)
RPOP <KEY> # A, (A, B, D)
RPOP <KEY> # D, (A, B)
# ์ปฌ๋ ์
์ค์ ์ต๊ทผ์ ์ฐ์ฌ์ง ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์๋ค๋ฉด
# > ๋ฐ์ดํฐ๋ฅผ Pushํ๊ธฐ ์ ๊น์ง ๋๊ธฐ, Timeout ์กด์ฌ
BLPOP
BRPOP
- Set Commends
- ๋ฐ์ดํฐ๊ฐ ์๋์ง ์๋์ง ์ฒดํฌํ๋ ์ฉ๋
# ADD
SADD <KEY> <VALUE>
# ๋ชจ๋ Value๋ฅผ ๋๋ ค์ค
SMEMBERS <KEY>
# Value๊ฐ ์กด์ฌํ๋ฉด 1, ์์ผ๋ฉด 0
SISMEMBER <KEY> <VALUE>
- Sorted Set Commends
- ์ ๋ ฌ๋ Set
# Value๊ฐ ์ด๋ฏธ Key์ ์์ผ๋ฉด ํด๋น Score๋ก ๋ณ๊ฒฝ๋๋ค.
ZADD <KEY> <SCORE> <VALUE>
# Score ๋ฒ์์ ํฌํจ๋๋ ๊ฐ๋ค์ ๋ชจ๋ ๋๋ ค์ค
# ZRANGE key 0 -1 > ๋ชจ๋ ๋ฒ์ ๊ฐ ๊ฐ์ ธ์จ๋ค.
# score๋ ์ ์ํ์ด ์๋, ์ค์ํ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ์ ํํ์ง ์์ ์ ์๋ค
ZRANGE <KEY> <START_INDEX> <END_INDEX>
# Score ๊ธฐ์ค์ผ๋ก ์ญ์ผ๋ก ์ ๋ ฌํ์ฌ ๋ฐํ
ZREVRANGE
# 5 < score < 10
ZRANGEBYSCORE zset (5 (10
# 5 < score <= 10
ZRANGEBYSCORE zset (5 10
# ๋ฌดํ๋ ํํ
ZRANGEBYSCORE myzset -inf +inf
# single
HSET <KEY> <SUBKEY> <VALUE>
HGET <KEY> <SUBKEY>
# multi
HMSET <KEY> <SUBKEY1> <VALUE1> <SUBKEY2> <VALUE2>
HMGET <KEY> <SUBKEY1> <SUBKEY2>
HGETALL <KEY>
- ๊ทธ ์ธ ๋ง์ Collection
์ฃผ์์ฌํญ์ ์์๊น?
- ํ๋์ ์ปฌ๋ ์
์ ๋๋ฌด ๋ง์ ์์ดํ
์ ์ ์ฅํ์ง ์๋๊ฒ ์ข๋ค.
- 10000๊ฐ ์ดํ๊ฐ ๊ถ์ฅ
- Expire๋ Collection์ Item ๊ฐ๋ณ๋ก ๊ฑธ๋ฆฌ์ง ์๊ณ , ์ ์ฒด Collection์ ๋ํด์๋ง ๊ฑธ๋ฆผ