Strings
- 가장 기본적인 데이터 타입
- 바이트 배열을 저장
- 바이너리로 변관할 수 있는 모든 데이터를 저장 가능
- 최대크기 = 512MB
명령어 | 기능 | 예제 |
---|---|---|
SET | 특정 키에 문자열 값을 저장 | SET say hello |
GET | 특정 키에 문자열 값을 부름 | GET say |
INCR | 특정 키에 값을 Integer로 취급하며 1증가 | INCR mycount |
DECR | 특정 키에 값을 Integer로 취급하며 1증가 | DECR mycount |
MSET | 여러 키에 대한 값을 한번에 저장 | MSET key1 value1 key2 value2 |
MGET | 여러 키에 대한 값을 한번에 부름 | MGET key1 key2 |
Lists
- Linked-list 형태의 자료구조
- Queue와 Stack으로 사용할수있음
명령어 | 기능 | 예제 |
---|---|---|
LPUSH | 리스트 왼쪽에 새로운 값 추가 | LPUSH mylist apple |
RPUSH | 리스트 오른쪽에 새로운 값 추가 | RPUSH mylist banana |
LLen | 리스트에 들어있는 아이템 개수를 반환 | LLEN mylist |
LRANGE | 리스트의 특정 범위를 반환 | LRANGE 0 -1 |
LPOP | 리스트 왼쪽에서 값을 삭제하고 반환 | LPOP mylist |
RPOP | 리스트 오른쪽에서 값을 삭제하고 반환 | RPOP mylist |
Sets
- 검색이 빠름
- 개별 접근을 위한 인덱스가 없고 집합 연산이 가능(교집합, 합집합 등)
명령어 | 기능 | 예제 |
---|---|---|
SAAD | Set에 데이터 추가 | SAAD myset apple |
SREM | Set에 데이터 삭제 | SREM myset apple |
SCARD | Set에 저장된 아이템 개수를 반환 | SCARD myset |
SMEMBERS | Set에 저장된 아이템들을 반환 | SMEMBERS myset |
SISMEMBER | 특정값이 Set에 포함되어 있는지를 반환 | SISMEMBER myset apple |
Hashes
- 하나의 Key 하위에 여러개의 filed-value 쌍을 저장
명령어 | 기능 | 예제 |
---|---|---|
HSET | 한개 또는 다수의 필드에 값을 지정 | HSET user1 name lhj age 36 |
HGET | 특정 필드의 값을 반환 | HGET user1 name |
HMGET | 한개 이상의 필드 값을 반환 | HMGET user1 name age |
HINCRBY | 특정 필드의 값을 Integer로 취급하여 지정한 숫자를 증가 | HINCRBY user1 viewcount 1 |
HDEL | 한개 이상의 필드를 삭제 | HDEL user1 age |
SortedSets
- Set과 유사하게 유니크한 값의 집합
- 각 값은 연관된 score를 가지고 정렬되어있음
- 정렬된 상태이기에 빠르게 최소/최대값을 구할수있음
- 순위 계산, 리더보드 구현등에 활용
명령어 | 기능 | 예제 |
---|---|---|
ZADD | 한개 또는 다수의 값을 추가 또는 업데이트 | ZADD myrank 10 apple 20 banana |
ZRANGE | 특정 범위의 값을 반환(오름차순 정렬) | ZRANGE myrank 0 1 |
ZRANK | 특정 값의 위치(순위)를 반환(오름차순 정렬) | ZRANK myrank apple |
ZREVRANK | 특정 값의 위치(순위)를 반환(내림차순) | ZREVRANK myrank apple |
ZREM | 안개 이상의 값을 삭제 | ZREM myrank apple |
bitmaps
- 비트 백터를 사용해 N개의 Set을 공간 효율적으로 저장
- 비트연산 가능
명령어 | 기능 | 예제 |
---|---|---|
SETBIT | 비트맵의 특정 오프셋에 값을 변경 | SETBIT visit 10 1 |
GETBIT | 비트맵의 특정 오프셋의 값을 반환 | GETBIT visit 10 |
BITCOUNT | 비트맵에서 SET(1) 상태인 키트의 개수를 반환 | BITCOUNT visit |
BITOP | 비트맵들간의 비트 연산을 수행하고 결과를 비트맵에 저장 | BITOP AND result today yesterday |
HyperLogLog
- 유니크한 값의 개수를 효율적으로 얻을수 있음
- 확률적 자료구조로서 오차가 있을수있고, 매우 큰 데이터를 다룰때 사용
명령어 | 기능 | 예제 |
---|---|---|
PFADD | HyperLogLog에 값들을 추가 | PFADD visit Jay Perter Jane |
PFCOUNT | HyperLogLog에 입력된 값들의 cardinality(유일값의 수)를 반환 | PFCOUNT visit |
PFMERGE | 다수의 HyperLogLog를 병합 | PFMERGE result visit1 visit2 |
'대용량 처리 이해 > Redis' 카테고리의 다른 글
Pub, Sub 패턴 (0) | 2023.02.20 |
---|---|
Redis Cache Layer (0) | 2023.02.19 |
Redis Session Clustering (0) | 2023.02.18 |
Redis (Remote Dictionary Server) (0) | 2023.02.13 |