Redis 기본 명령어
https://github.com/woojin97318/redis-practice
Redis(Remote Dictionary Server)
인메모리 데이터 저장
- 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 작업이 가능
- 디스크에는 주기적으로 스냅샷을 저장하여 지속성을 보장
다양한 데이터 구조 지원
- String, Hash, List, Set, Sorted Set 등 다양한 데이터 구조를 제공
고급 기능
- 트랜잭션, 퍼블리싱/서브스크라이빙, 키 만료 등의 고급 기능을 지원
고성능 및 확장성
- 단일 스레드 모델을 사용하지만, 비동기 I/O와 다중 CPU 코어를 활용하여 높은 처리량과 성능을 제공
- 클러스터링을 통해 데이터베이스를 수평 확장
다양한 사용 사례
- 세션 캐싱, 대기열 관리, 실시간 분석, 게임 리더보드 등
Redis는 주로 메모리 내의 데이터를 다루기 때문에 메모리 용량이 한정적인 경우 데이터 크기에 주의해야 하며, 데이터의 지속성을 위해 디스크에 주기적으로 저장하는 설정을 고려해야 합니다.
데이터 구조
문자열 (String)
- 가장 기본적인 키-값 데이터 구조
- 이진 데이터 또는 텍스트 데이터를 저장
- 문자열 연산을 지원하며, 기본적으로 GET, SET 등의 명령어를 사용
해시 (Hash)
- 필드와 값들의 맵핑을 저장하는 데이터 구조
- 하나의 키에 여러 필드와 값들을 저장
- 해시 연산을 지원하며, HSET, HGET, HDEL 등의 명령어를 사용
리스트 (List)
- 순서가 있는 문자열 요소들의 집합을 저장
- 특정 위치에서 요소를 추가하거나 제거
- 리스트 연산을 지원하며, LPUSH, RPUSH, LPOP, RPOP 등의 명령어 사용
집합 (Set)
- 중복되지 않는 문자열 요소들의 집합을 저장하는 데이터 구조
- 집합 연산을 지원하며, SADD, SREM, SINTER 등의 명령어 사용
정렬된 집합 (Sorted Set)
- 집합의 각 요소에 대한 순위를 기반으로 정렬된 집합을 저장하는 데이터 구조
- 각 요소에 대한 스코어(score)를 기준으로 정렬
- 정렬된 집합 연산을 지원하며, ZADD, ZRANGE, ZREM등의 명령어 사용