SW/앱플랫폼

앱 플랫폼 개발 : redis 정의, 개념, 장점

얇은생각 2019. 4. 2. 07:30
반응형



Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 공개 소스(BSD 라이센스가 부여된) 메모리 내 데이터 구조 저장소입니다. 범위 쿼리, 비트맵, 하이퍼로그 및 공간 인덱스를 사용하여 문자열, 해시, 목록, 세트 및 정렬된 집합과 같은 데이터 구조를 지원합니다.



Redis의 장점

Redis를 사용하면 응용 프로그램에 많은 이점이 있습니다.


- Redis를 사용하면 KeyValue 쌍을 512MB까지 저장할 수 있습니다. 512MB까지 큰 KeyValue 값을 가질 수 있습니다. 따라서 Redis는 단일 항목에 대해 최대 1GB의 데이터를 지원합니다.


- Redis는 Redis Hashing이라는 자체 해싱 메커니즘을 사용합니다. Redis는 데이터를 키와 맵, 즉 문자열 필드 및 문자열 값의 형태로 저장합니다. Redis 해시를 사용하여 사용자 세부 정보를 저장합니다.


- Redis는 데이터 복제를 제공합니다. 복제는 마스터 슬레이브 캐시 노드를 설정하는 프로세스입니다. 슬레이브 노드는 항상 마스터 노드를 수신합니다. 즉, 마스터 노드가 업데이트되면 슬레이브도 자동으로 업데이트됩니다. Redis는 또한 비동기식으로 슬레이브를 업데이트할 수도 있습니다.


- Redis 캐시는 장애를 견딜 수 있고 중단 없는 서비스를 제공합니다. Redis는 효율적인 복제를 설정하는 데 사용할 수 있으므로 언제든지 슬레이브 노드가 중단된 경우에도 캐쉬 서비스가 가동됩니다. 그러나 노드는 복원력이 뛰어나고 장애를 극복하고 서비스를 계속 제공합니다.


- Redis는 모든 인기 있는 프로그래밍 언어에 클라이언트를 가지고 있습니다. Redis에는 C, Ruby, Java, JavaScript 및 Python과 같은 모든 유명한 언어로 개발된 클라이언트 API가 있습니다. Redis가 지원하는 전체 언어 목록은 Redis Wikipedia 페이지에서 찾을 수 있습니다.


- Redis는 Pub/Sub 메시징 시스템을 제공합니다. 원하는 언어를 사용하여 Redis pub/sub 메커니즘을 사용하여 고성능 메시징 애플리케이션을 개발할 수 있습니다.


- Redis를 사용하면 대용량 데이터를 캐시에 매우 쉽게 삽입할 수 있습니다. 때로는 짧은 시간 내에 수백만 개의 데이터를 캐시에 로드해야 합니다. 이 작업은 Redis에서 지원하는 기능인 Volume 삽입을 사용하여 쉽게 수행할 수 있습니다.


- Redis는 Raspberry Pi 및 ARM 장치에 설치할 수 있습니다. Redis는 메모리 공간이 작으며 Raspberry Pi에 설치하여 IoT 기반 애플리케이션을 사용할 수 있습니다.


- Redis 프로토콜을 사용하면 클라이언트를 간편하게 구현할 수 있습니다. Redis 클라이언트는 RESP(Redis Serialization Protocol)를 사용하여 서버와 통신합니다. 이 프로토콜은 구현이 간단하고 사용자가 읽을 수 있습니다.


- 트랜잭션을 지원합니다. Redis는 트랜잭션을 지원하므로 명령을 한 번에 실행하는 대신 대기열로 실행할 수 있습니다. 일반적으로 MULTI 이후의 명령은 대기열에 추가되고 EXEC가 실행되면 대기열에 저장된 모든 명령이 한 번에 실행됩니다.



요약

Redis는 효율적인 캐싱 메커니즘을 개발하기 위해 많은 지원을 제공합니다. 캐쉬 메커니즘을 구현하고 어떤 애플리케이션에서도 작동시키는 데 몇 분밖에 걸리지 않습니다. 즉, 고성능 캐시 시스템입니다.

반응형