key value
- string은 레디스에서 데이터를 저장할 수 있는 간단한 자료구조ㅓ
- 최대ㅑ 512MB 문자열 데이터 저장
- 모든 종류 문자열이 binary-safe 하게 처리되어 JPEG 이미지와 바이트 HTTP 응답값등 다양한 데이터 저장하는 것도 가능
SET hello world
GET hello
"world"
이때 hello 라는 키에 다른 값이 연결되어 있다면 새로 입력된 값으로 대체
set과 함께 nx 옵션과 사용하면 지정한 키가 없을때 새로운 키 지정
xx옵션은 키가 있을때만 새로운 값으로 덮어쓰며 새로운 키 생성하지 않도록 동작
INCR, INCRBY 와 같은 커맨드 이용시 string 자료 구조에 저장된 숫자를 원자적으로 조작
SET counter 1000
INCR counter
(integer) 101
INCRBY counter 50
(integer) 151
즉 INCR 은 1씩 증가 INCRBY 는 해당 수 만큼 증가
DECR, DECRBY SMS QKSEO
커맨드는 원자적
레디스에서 list는 순서를 가지는 문자여 ㄹ 목록
하나의 list는 최대 42억여개의 아이템 저장 가능
list는 스택과 큐로 이용
LPUSH
RPUSH
LRANGE
LPUSH mylist E
1
RPUSH mylist B
2
LPUSH mylist DACBA
LRANGE mylist 0 -1
"A"
"B"
"C"
"A"
"D"
"E"
"B"
LRANGE mylist 0 3
"A"
"B"
"C"
"A"
LPOP
LTRIM
LPUSH와 LTRIM 커맨드를 사용시 고정된 길이 큐를 쉽게 유지할 수 있음
LPUSH, RPUSH , LPOP RPOP 은 O(1) 로 처리 할 수 있어 매우 빠른 실행 가능
LINSTER 는 원하는 데이터 앞이나 뒤에 데이터 추가 가능
LSET 커맨드는 지정한 인덱스의 데이터를 신규 입력하는 데이터로 덮어 쓰기
LINDEX 커맨드 사용시 원하는 인덱스 데이터 확이
레디스에서 hash는 필드 - 값을 쌍을 가진 아이템 집합
필드는 하나의 hash내에서 유일하며 필드와 갑 모두 문자열 데이터로 저장
hash는 객체를 표현하기 적절한 자료구조 이며 관계형 데이터베이스 테이블 데이터로 변환하는것도 간편
HSET
HSET Product:123 NAME "HAPPY HACKING"
HSET product:123 TypeID 35
HSET Product:123 Version 2002
HSET Product:234 Name "Track Ball" TypeID 32
HGET Product:123 TypeID
"35"
HMGET Prduct:234 NAME TypeID
"Track Ball"
"32"
HGETALL Product:234
"Name"
"Track Ball"
"TypeID"
"32"
정렬되지 않은 문자 모음
중복되서 저장되지 않으며 교집합 합집합 차집합등 집합 연산 과 관련 커멘드 제공 객체간 관계를 계산하거나 유일한 원소 구해야 할 경우 사용
SADD
SMEMBERS
SREM
SPOP
SUNION 합집합
SINTER 교집합
SDIFF 차집합
스코어 값에 따라 정렬되는 고유한 문자열 집합
모든 아이템은 스코어 값 쌍을 가짐
저장 될 때부터 스코어 값으로 저장
같은 스코어를 가진 아이템은 데이터 사전순으로 정렬돼 저장
데이터 중복 없이 저장되므로 set과 유사하다 볼수 있으며 각 아이템은 스코어라는 데이터와 연결되어 있어 hash와 유사하다 볼수 있음
ZADD
ZADD score:220817 100 user:B
ZADD score:220817 150 user:A 150 user:C 200 user:F
만약 저장하고자 하는 데이터가 이미 sorted set에 속해 있다면 스코어만 업데이트 되며, 업데이트된 스코어에 의해 아이템 재정렬
지정한 키가 존재하지 않을때 sorted set 자료 구조를 새로 생성 키가 이미 존재하지만 sorted set 이 아닐 경우 오류 반환
XX
NX
LT
GT
ZRANGE 커맨드 사용시 Sorted set에 저장된 데이터를 조회할 수 있다.
WITHSCORE 옵션 사용시 데이터와 함께 스코어 값이 차례대로 출력 REV옵션 사용시 데이터는 역순으로 출력
ZRANGE score:220817 1 3 WITHSCORES
"user:A"
"150"
"user:C"
"150"
"user:F"
"200"
ZRANGE score:220817 100 150 BYSCORE WITHSCORES
100 150 스코어 조회
ZRANGE score:220817 +inf 200 BYSCORE WITHSCORES REV
stream 이나 set, sorted set, hash 와 같이 하나의 키가 여러개의 아이템을 가지고 있는 자료 구조에서는 명시적으로 키를 생성하거나 삭제하지 않아도 키는 알아서 생성 삭제
키 생성 세가지 곹오 규칙
EXISTS
KEYS
SCAN
SORT
RENAME/ RENAMENX
COPY
Type
OBJECT
FLUSHALL
DEL
UNLINK
EXPIRE
EXPIREAT
EXPIRETIME
TTL