본문 바로가기
Data/Redis

[Redis] Redis-cli 기본 명령어

by dev_ss 2023. 7. 11.

 

 

Redis에 저장되는 데이터 구조에는 다양한 형태를 가지고 있고 그에 따라 명령어도 많이 구분되어 있다.

 

이는 Redis 공식 Docs에 설명이 세부적으로 나와있고, 정확한 가이드가 나와있다.

Docs :  https://redis.io/docs/data-types/

 

 

그중에서 가장 많이 사용되는 Strings, Lists, Sets, Sorted Sets와 Hashes Redis-cli의 명령어에 대하여 알아볼 것이다.

 

1. Strings

# redis-cli

set <Key> <Value> # Create / Update(Key 존재 시)
get <Key> <Value> # Read
del <Key> # Delete(String 타입 이외에도 적용 가능)
getset <Key> <Value> # value 값을 가져오고 set값으로 대체
append <Key> <Value> # value + <Value> (ex. key가 key1, value가 a일 때, append key1 bc => key는 key1, value는 abc)

# Multi
mset <Key1> <Value1> <Key2> <Value2> <Key3> <Value3> # Create / Update(Key 존재 시)
mget <Key1> <Key2> <Key3>

# value가 Integer일 때만 사용 가능
# value가 (nil)일때는 0으로 취급
incr <Key> # value = value + 1
decr <Key> # value = value - 1
incrby <Key> <Value> # value = value + <Value>
decrby <Key> <Value> # value = value - <Value>

# value값 문자열 길이 반환
strlen <Key>

 

2. Lists

# redis-cli

# 입력
lpush <Key> <Value> # Head 방향으로 push(Index가 한 칸씩 밀림)
rpush <Key> <Value> # Tail 방향으로 push(마지막 Index에서 추가)

# 추출
lpop <Key> # Head 값 추출
rpop <Key> # Tail 값 추출

# 조회
lrange <Key> <Start> <Stop> # Start ~ Stop Index값 전체 조회(-1은 마지막 Index)
lindex <Key> <Index> # 해당 Index 조회

 

3. Sets

# redis-cli

sadd <Key> <Member> # Key의 Set에 Member값 add

smembers <Key> # Key의 Set에 있는 모든 원소 조회
sismember <Key> <Member> # Key의 Set에 Member가 있는지 조회 (1 : True, 0 : False)
sinter <Key1> <Key2> # Key1과 Key2의 교집합 조회
scard <Key> # Key의 Set에 저장된 원소의 수 조회

spop <Key> <Member> # Key의 Set에서 임의의 값을 추출
smove <Key1> <Key2> <Member> # Key1의 Member를 Key2로 이
 

 

4. Sorted Sets

# redis-cli

zadd <Key> <Score> <Value>

zrange <Key> <Start> <End>
zrange <Key> <Start> <End> withscores # 스코어 값까지 반환

zrangebyscore <Key> <Min> <Max> # 스코어 범위 내의 Value 반환
zremrangebyscore <Key> <Min> <Max> # 스코어 범위 내 value 삭제

zrank <Key> <Member> # 요소의 순위 반환
zrevrank <Key> <Member> # 요소의 역순위 반환

 

5. Hashes

# redis-cli

hkeys <Key> # Key의 모든 Field 값 조회 
hvalues <Key> # Key의 모든 Value 값 조회
hgetall <Key> # Key의 모든 Field/Value 값 조

hset <Key> <Field1> <Value1> <Field2> <Value2> ...
hget <Key> <Field>
hmget <Key> <Field1> <Field2> ...

# 정수 값 연산
hincrby <Key> <Field> <Value> # Field의 value = value + <Value>

 

위 데이터 구조 외에도 Streams, Geospatial Indexes, Bitmaps 등 특수한 데이터 구조를 기반으로 저장할 수 있으나 추후에 다루어 볼 예정이다.

 

 

 

반응형

'Data > Redis' 카테고리의 다른 글

[Redis] Pub/Sub  (0) 2023.07.19
[Redis] Redis란  (0) 2023.07.09