DBMS/Redis
[REDIS] ๐ ์ ์ญ ํค ๋ช ๋ น์ด(Common Keys) ์ข ๋ฅ ๐ฏ ์ ๋ฆฌ
์ธํ_
2022. 7. 4. 06:00
Redis Common Keys
Common์ ์์ ๋ช ๋ น์ด๋ค์ 5๊ฐ์ง Data type(์๋ฃ๊ตฌ์กฐ)์ ๊ด๊ณ์์ด ๋ชจ๋ Key ์ ์ฉ๋๋ ๋ช ๋ น์ ๋ปํ๋ค.
Common Keys ๋ช ๋ น์ด ๋ฆฌ์คํธ
- Key ํ์ธ, ์กฐํ: EXISTS, KEYS, SCAN, SORT
- Key ์ด๋ฆ ๋ณ๊ฒฝ: RENAME, RENAMENX
- Key ์ญ์ : UNLINK, RM
- Key ์๋ ์๋ฉธ ๊ด๋ จ: EXPIRE, EXPIREAT, TTL, PEXPIRE, EXPIREAT, PTTL, PERSIST
- ์ ๋ณด ํ์ธ: TYPE, OBJECT
- ์ํ๋ง: RANDOMKEY
- Data ์ด๋: MOVE, DUMP, RESTORE, MIGRATE
Commands | Syntax | Description |
EXISTS | key | Key๊ฐ ์กด์ฌํ๋์ง ํ์ธ |
UNLINK | key | Key๋ฅผ ์ญ์ |
RM | key (subquery) | Key๋ฅผ ์ญ์ (Enterprise server) |
KEYS | key pattern | Key๋ค์ pattern์ผ๋ก ์กฐํ |
RENAME | key new_key | Key ์ด๋ฆ์ ๋ณ๊ฒฝ |
RENAMENX | key new_key | new_key๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ์๋ง key ์ด๋ฆ์ ๋ณ๊ฒฝ |
EXPIRE | key seconds | ์ง์ ๋ ์๊ฐ(์ด) ํ key ์๋ ์ญ์ |
RANDOMKEY | random์ผ๋ก key๋ฅผ ์กฐํ | |
SORT | key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] |
๋ค๋ฅธ key์ joinํ์ฌ data๋ฅผ sortํ์ฌ ์กฐํ |
TTL | key | ๋จ์ expire time(seconds)์ ์กฐํ |
TYPE | key | key์ data type์ ์กฐํ |
EXPIREAT | key timestamp | ์ง์ ๋ ์๊ฐ(Unix timestamp) ํ key ์๋ ์ญ์ |
PERSIST | key | Expire time์ ์ญ์ |
OBJECT | subcommand key | key์ ๋ํ ์ ๋ณด ์กฐํ |
PEXPIRE | key milliseconds | ์ง์ ๋ ์๊ฐ(milliseconds) ํ key ์๋ ์ญ์ |
PEXPIREAT | key milliseconds-timestamp | ์ง์ ๋ ์๊ฐ(Unix milliseconds-timestamp) ํ key ์๋ ์ญ์ |
PTTL | key | ๋จ์ expire time์ milliseconds๋ก ์กฐํ |
MOVE | key db | Key๋ฅผ ๋ค๋ฅธ DB๋ก ์ฎ๊ธด๋ค |
DUMP | key | Data๋ฅผ dump |
RESTORE | key ttl serialized-value [REPLACE] | Data๋ฅผ restore |
MIGRATE | host port key destination-db timeout [COPY] [REPLACE] |
Data๋ฅผ ๋ค๋ฅธ Redis Server๋ก ์ด๋/๋ณต์ฌ |
SCAN | cursor [MATCH pattern] [COUNT count] |
Key๋ค์ ์ผ์ ๋จ์ ๊ฐฏ์ ๋งํผ์ฉ ์กฐํ |
๋ชจ๋ ํค ๊ฐ์ ธ์ค๊ธฐ (keys)
> keys * # ๋ชจ๋ ํค ๊ฒ์
> keys o* # o๋ก ์์ํ๋ ํค ๊ฒ์ [ํจํด]
๋ ๋์ค ์์ฒด ์ฑ๋ฅ ๋๋ฌธ์ keys * ๊ฐ์ ๋ช ๋ น์ด ๋์ scan 0์ผ๋ก ๋์ฒด ํ๋ ๊ฒ์ด ์ข๋ค.
"์ฌ๊ท์ "์ผ๋ก key๋ฅผ ์์ฐจ ํธ์ถ ๊ฐ๋ฅํ๋ค.
ํค๊ฐ ์กด์ฌํ๋์ง (exists)
> exists <key>
ํค ์ด๋ฆ ๋ณ๊ฒฝ (rename)
> rename <key>
ํค ์ญ์ (unlink)
> SET key1 "Hello"
"OK"
> SET key2 "World"
"OK"
> UNLINK key1 key2
(integer) 2
๋ ๋์ค db์ ํค ๋ฐ์ดํฐ๊ฐ ๋ง์๋ del ์ปค๋ฉํธ ์น๋ฉด ์ํ ์ค๋๊ฑธ๋ฆฐ๋ค. (ํค ์ง์ฐ๋ ๋์ ์๋ฌด๊ฒ๋ ๋ชปํจ)
๋ฐ๋ผ์ unlink์ ๊ฒฝ์ฐ์๋ back ground ์์ ์ผ๋ก ํค๋ฅผ ์์ ์ฃผ๊ธฐ ๋๋ฌธ์ ์ด ๋ช ๋ น์ด๋ก ๋์ฒด ํ๊ธธ ์ถ์ฒ๋๋ค.
๋ชจ๋ ํค ์ญ์ (flushall)
> flushall
ํค ์๋ ์ญ์ (expire / ttl)
์ค์ ํ ์๊ฐ๋ด๋ก key๋ฅผ ์๋ ์ญ์ ํ๋ ๋ช ๋ น์ด ์ด๋ค.
๋ค๋ง, ๊ธฐ๊ฐ ์ญ์ ๋ฅผ ๋ฑ๋กํ๊ณ ๋ฐ๋ก set, getset์ ๋ช ๋ น์ด๋ฅผ expire ๋ช ๋ น์ด ์ดํ์ key์ ๋ค์ ์ ์ฉํ๋ฉดexpire ๋ช ๋ น์ ๋ฌดํจ์ฒ๋ฆฌ๊ฐ ๋๋ค.
๊ทธ๋ฌ๋ incr, lpush, sadd, zadd, hset๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ ์ ์ง๋๋ค.
# expire <key> <member> <second> : key์ ttl ์ค์ (ttl : Time To Live)
# ttl <key> : ๋จ์ ttl์ ์ด๋จ์๋ก ํ์ธ
127.0.0.1:6379> set a b
OK
127.0.0.1:6379> expire a 20 # key a๋ฅผ 20์ด ํ์ ์ญ์
(integer) 1
127.0.0.1:6379> ttl a # key ์ญ์ ๋จ์ ์๊ฐ์ด ์ผ๋ง ๋จ์๋์ง
(integer) 16
127.0.0.1:6379> ttl a
(integer) -2
127.0.0.1:6379> get a
(nil)
ํ๋ฉด ํด๋ฆฌ์ด (clear)
> clear
๋ฐ์ดํฐ ์๊ตฌ์ ์ฅ (save / bgsave)
- ํ์ฌ ์ ๋ ฅํ key/value ๊ฐ์ ํ์ผ๋ก ์ ์ฅ ๊ฐ๋ฅ
- config์์ ์ค์ ํ์ฌ ์๋ ์ ์ฅ๋ ๊ฐ๋ฅ
- exit ํ redis-server์ working directory ์์ rdbํ์ผ์ด ์์ฑ๋จ
> save # ํฌ๊ทธ๋ผ์ด๋๋ก rdb ํ์ผ๋ก ์ ์ฅ
> bgsave # ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ์ฅ