Redis
정의
- 고성능 (속도가 빠르다.) 키-값 저장소로서 다양한 자료구조의 데이터를 지원하는 NoSQL 이다.
자료구조
- String (text, binary data) - 512 MB까지 저장이 가능함
- Set (String 집합)
- Sorted Set (Set 을 정렬해둔 상태)
- Hash
- List (양방향 연결리스트도 가능)
특징
- 모든 데이터를 메모리에 저장하고 조회하는 인메모리 데이터베이스이다.
- 메모리를 통한 저장 및 조회는 디스크 스캐닝이 필요없기 때문에 속도가 매우 빠르다
- 다양한 자료구조를 지원하여 개발의 편이성이 좋아진다.
Redis 영속성
RAM은 휘발성 아닌가요? 껐다키면 다 날아가는데 ...
이를 막기위한 데이터를 디스크에 저장할 수 있습니다.
방법
- RDB(Snapshotting) 방식
- 순간적으로 메모리에 있는 내용 전체를 디스크에 옮겨 담는 방식
- AOF (Append On File) 방식
- Redis의 모든 write / update 연산 자체를 모두 로그 파일에 기록하는 방식