Redis란
Remote Dictionary Server를 의미한다
휘발성이면서 영속성(?) 을 가진 Key - Value 저장소
Redis의 장점
1. 리스트, 배열 형식의 데이터 처리에 특화되어 있다.
- value 값으로 문자열, 리스트, set, sorted set , hash 형 등 여러 데이터 형식을 지원한다.
- 리스트 형 데이터의 입렵과 삭제가 MySQL에 비해 10배 정도 빠르다.
2. 여러 프로세스에서 동시에 같은 key에 대한 갱신을 요천할 경우 Aromic한 처리로 데이터 부정합 방지 Atomic처리 함수를 제공한다.
3. 메모리를 활용하면서 영속적인 데이터 보존
- 명령어로 명시적으로 삭제하거나 expires를 설정하지 않으면 데이터를 삭제하지 않는다.
- 스냅샷 기능을 제공하여 메모리의 내용을 *.rdb 파일로 저장하여 해당 시점을 복구 할 수 있다.
4. 여러 대의 서버 구성
-Consistent hashing 혹은 master-slave 형식으로 구성 가능함
CAP 이론
분산 컴퓨팅 시스템에서는 다음 세가지를 동시에 제공하는 것은 불가능 하도 두가지만 만족할 수 있다.
- Consistency( 일관성 ) : 각 사용자는 항상 동일 데이터 값을 가져야 한다.
- Availability( 가용성 ) : 모든 사용자는 항상 읽기 / 쓰기가 가능해야 한다.
- Partition tolerance( 지속성 ) : 일부 데이터를 손실하더라도 사용자는 사용이 가능해야 한다.
CAP 이론에 의해서 DB를 분류하자면 현재 우리가 사용하고 있는 RDBMS는 CA에 해당하고
Redis는 일관성과 지속성을 만족하는 CP에 해당한다.
그럼 이제 실제로 Redis 설치 및 실행 해보자