Repository files navigation
가장 기본적인 데이터 타입으로 제일 많이 사용됨
바이트 배열을 저장 (binary-safe)
바이너리로 변활할 수 있는 모든 데이터를 저장 가능(JPG와 같은 파일 등)
최대 크기는 512MB
명령어
기능
예제
SET
특정 키에 문자열 값을 저장한다
SET say hello
GET
특정 키의 문자열 값을 얻어온다
GET say
INCR
특정 키의 값을 Integer로 취급하여 1 증가시킨다
INCR mycount
DECR
특정 키의 값을 Integer로 취급하여 1 감소시킨다
DECR mycount
MSET
여러 키에 대한 값을 한번에 저장한다
MSET mine milk yours coffee
MGET
여러 키에 대한 값을 한번에 받아온다
MGET mine yours
Linked-list 형태의 자료구조(인덱스 접근은 느리지만 데이터 추가/삭제가 빠름)
Queue와 Stack으로 사용할 수있음
명령어
기능
예제
LPUSH
리스트의 왼쪽(head)에 새로운 값을 추가한다
LPUSH mylist apple
RPUSH
리스트의 오른쪽(tail)에 새로운 값을 추가한다
RPUSH mytlist banana
LLEN
리스트에 들어있는 아이템 개수를 반환한다
LLEN mylist
LRANGE
리스트의 특정 범위를 반환한다
LRANGE mylist 0 -1
LPOP
리스트의 왼쪽(head)에서 값을 삭제하고 반환한다
LPOP mylist
RPOP
리스트의 오른쪽(tail)에서 값을 삭제하고 반환한다
RPOP mylist
순서가 없는 유니크한 값의 집합
검색이 빠름
개별 접근을 위한 인덱스가 존재하지 않고, 집합 연산이 가능(교집합, 합집합 등)
명령어
기능
예제
SADD
Set에 데이터를 추가한다
SADD myset apple
SREM
Set에서 데이터를 삭제한다
SREM myset apple
SCARD
Set에 저장된 아이템 개수를 반환한다
SCARD myset
SMEMBERS
Set에 저장된 아이템들을 반환한다
SMEMBERS myset
SISMEMBER
특정 값이 Set에 포함되어 있는지를 반환한다
SISMEMBER myset apple
하나의 key 하위에 여러개의 field-value 쌍을 저장
여러 필드를 가진 객체를 저장하는 것으로 생각할 수 있음
HINCRBY 명령어를 사용해 카운터로 활용가능
명령어
기능
예제
HSET
한개 또는 다수의 필드에 값을 저장한다
HSET user1 name bear age 10
HGET
특정 필드의 값을 반환한다
HGET user1 name
HMGET
한개 이상의 필드 값을 반환한다
HMGET user1 name age
HINCRBY
특정 필드의 값을 Integer로 취급하여 지정한 숫자를 증가시킨다
HINCRBY user1 viewcount 1
HDEL
한개 이상의 필드를 삭제한다
HDEL user1 name age
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
비트 벡터를 사용해 N개의 Set을 공간 효율적으로 저장
하나의 비트맵이 가지는 공간은 4,294,967,295(2^32-1)
비트 연산 가능
명령어
기능
예제
SETBIT
비트맵의 특정 오프셋에 값을 변경한다
SETBIT visit 10 1
GETBIT
비트맵의 특정 오프셋의 값을 반환한다
GETBIT visit 10
BITCOUNT
비트맵에서 set(1) 상태인 비트의 개수를 반환한다
BITCOUNT visit
BITOP
비트맵들간의 비트 연산을 수행하고 결과를 비트맵에 저장한다
BITOP AND result today yesterday
유니크한 값의 개수를 효율적으로 얻을 수 있음
확률적 자료구조로서 오차가 있으며, 매우 큰 데이터를 다룰 때 사용
18,446,744,073,709,551,616(2^64)개의 유니크 값을 계산 가능
12KB까지 메모리를 사용하며 0.81%의 오차율을 허용
명령어
기능
예제
PFADD
HyperLogLog에 값들을 추가한다
PFADD visit Jay Peter Jane
PFCOUNT
HyperLogLog에 입력된 값들의 cardinality(유일값의 수)를 반환한다
PFCOUNT visit
PFMERGE
다수의 HyperLogLog를 병합한다
PFMERGE result visit1 visit2
About
레디스 데이터 타입 정리
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.