
인프런에 있는 "실전! Redis 활용"-신동현님의 강의 내용 입니다.
강의에 더 자세한 내용과 사례들을 안내해주고 있습니다.
| 타입 | 내용 |
|---|---|
| String | 문자열, 숫자, serialized object(JSON string) 등 저장 |
| List | String을 Linked List로 저장 -> push / pop에 최적화. O(1) Queue(FIFO) / Stack(FILO) 구현에 사용 |
| Set | Unique string을 저장하는 정렬되지 않은 집합. Set Operation 사용 가능(e.g. intersection, union, difference) |
| Hash | field-value 구조를 갖는 데이터 타입. 다양한 속성을 갖는 객체의 데이터를 저장할 때 유용 |
| ZSet | Unique string을 연관된 score를 통해 정렬된 집합(Set의 기능 + 추가로 score 속성 저장) |
| Streams | append-only log에 consumer groups과 같은 기능을 더한 자료 구조 |
| Geospatial | 좌표를 저장하고, 검색하는 데이터 타입. 거리 계산, 범위 탐색 등 지원 |
| Bitmaps | 실제 데이터 타입은 아니고, String에 binary operation을 적용한 것. 최대 42억개 binary 데이터 표현 = 2^32(4,294,967,296) |
| HyperLogLog | 집합의 cardinality를 추정할 수 있는 확률형 자료구조. 정확성을 일부 포기하는 대신 저장공간을 효율적으로 사용(평균 에러 0.81%) |
| BloomFilter(=membership test) | element가 집합 안에 포함되었는지 확인할 수 있는 확률형 자료 구조 |
SET NX/XX. Pub/Sub. Pipeline. Transaction 등