Redis 데이터 타입
Redis 데이터 타입 (Redis Data Types)
Redis는 데이터 구조 서버(data structure server)예요. 핵심적으로 Redis는 캐싱부터 큐잉, 이벤트 처리에 이르기까지 다양한 문제를 해결하는 데 도움을 주는 여러 네이티브 데이터 타입을 제공해요. 아래에서는 각 데이터 타입을 간단히 소개하고, 더 넓은 개요와 명령 참조로 연결해 드릴게요. 각 개요에는 코드 샘플이 포함된 종합적인 튜토리얼이 들어 있어요.
데이터 타입 (Data types)
Redis Open Source은 다음 데이터 타입을 구현해요:
- Strings
- Bitmaps
- Bitfields
- Arrays
- Geospatial indexes
- Hashes
- JSON
- Lists
- Probabilistic data types
- Sets
- Sorted sets
- Streams
- Time series
- Vector sets
Strings
Redis 문자열은 가장 기본적인 Redis 데이터 타입으로, 바이트 시퀀스를 나타내요.
Bitfields
Redis 비트필드는 문자열 값 안에 여러 카운터를 효율적으로 인코딩해요. 비트필드는 원자적(atomic) get, set, increment 연산을 제공하고 다양한 오버플로 정책(overflow policies)을 지원해요.
Bitmaps
Redis 비트맵은 문자열에 대해 비트 단위 연산을 수행할 수 있게 해줘요.
Arrays
Redis 배열은 희소(sparse)하고 인덱스로 주소 지정이 가능한 문자열 시퀀스예요. 자세한 내용은 아래를 참고하세요:
Hashes
Redis 해시는 필드-값 쌍의 컬렉션으로 모델링된 레코드 타입이에요. 그래서 Redis 해시는 파이썬 딕셔너리, Java HashMap, Ruby 해시와 비슷해요. 자세한 내용은 아래를 참고하세요:
JSON
Redis JSON은 널리 쓰이는 JSON 텍스트 파일 포맷과 일치하는 구조적이고 계층적인 배열과 키-값 객체를 제공해요. JSON 텍스트를 Redis 객체로 가져와 개별 데이터 요소에 접근·수정·쿼리할 수 있어요.
Lists
Redis 리스트는 삽입 순서대로 정렬된 문자열 리스트예요. 자세한 내용은 아래를 참고하세요:
Probabilistic data types (확률적 데이터 타입)
Sets
Redis 셋은 즐겨 쓰는 프로그래밍 언어의 집합(예: Java HashSet, Python set)처럼 동작하는, 고유 문자열의 순서 없는 컬렉션이에요. Redis 셋으로 O(1) 시간(즉, 셋 요소 수와 무관하게)에 요소를 추가·제거·존재 테스트할 수 있어요.
Sorted sets
Redis 정렬된 셋은 각 문자열과 연관된 점수(score)에 따라 순서를 유지하는 고유 문자열의 컬렉션이에요.
Streams
Redis 스트림은 append-only 로그처럼 동작하는 데이터 구조예요. 스트림은 이벤트가 발생한 순서대로 기록한 다음 처리를 위해 전달(syndicate)하는 데 도움이 돼요.
Time series
Redis 시계열 구조는 타임스탬프가 찍힌 데이터 포인트를 저장하고 쿼리할 수 있게 해줘요.
Vector sets
Redis 벡터 세트는 고차원 벡터 데이터를 관리하도록 설계된 특수 데이터 타입으로, Redis 내에서 빠르고 효율적인 벡터 유사도 검색을 가능하게 해요. 벡터 세트로 Redis는 벡터 유사도와 구조화된 필터를 결합한 하이브리드 검색(hybrid search)을 네이티브로 지원해요.
확장 기능 추가 (Adding extensions)
modules API로 직접 Redis 모듈을 작성하거나, 커뮤니티 지원 모듈을 확인해 보세요.