Redis

박찬효·2022년 10월 20일
0

Redis 란?

Redis는 Remote Dictionary Server의 약자로서, "key-value" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템입니다.

"key-value"데이터 베이스이므로 NoSQL이며, In-memory 기반의 데이터 처리 및 저장을 제공하여 속도가 빠르지만 서버가 꺼지면 모든 데이터가 사라진다는 단점이 있습니다. 이러한 특징으로 인해서 Redis는 전체 서비스에서 속도 향상을 우ㅢ한 보조 데이터베이스로 사용되는 것이 보편적입니다.

Redis 데이터 처리

출처

Redis는 "key-value" 데이터 구조로 매우 간단하게 데이터를 처리할 수 있습니다. 데이터 입력/수정/삭제/조회에 대하여 위의 내용과 같이 명령이 제공됩니다.

Redis vs Memcached

공통점

  1. 1ms 이하의 응답대기시간

    • 1ms 이하의 응답시간을 제공합니다. 데이터를 메모리에 저장하기 때문에, 디스크 기반의 데이터 베이스보다 빠르게 데이터를 읽을 수 있습니다.
  2. 개발의 용이성

    • 문법적으로 사용하기 쉽고, 개발코드 양 또한 적습니다.
  3. 데이터 파티셔닝

    • 데이터를 여러 노드에 분산하여 저장시킬 수 있습니다, 따라서 수요가 증가할 때 더 많은 데이터를 효과적을 처리하기 위하여 스케일 아웃이 가능합니다.
  4. 다양한 프로그래밍 언어 지원

    • 여러 개발언어를 지원합니다. 자바, 파이썬, C, C++, C#, javascript, Node.js, Ruby, Go 그리고 다른 언어들을 지원합니다.

Memcached만의 특징

멀티스레드를 지원하기 때문에, 멀티프로세스코어를 사용할 수 있습니다. 따라서, 스케일업을 통하여 더욱 많은 작업처리를 할 수 있습니다.

Redis의 특징

  1. 속도가 매우 빠릅니다.

    • Redis는 메모리에 데이터를 저장하기 때문에 속도가 매우 빠르고 지원하는 데이터형식에 대해서는 MySQL과 같은 관계형 데이터베이스와 비교하면 약 10정도 빠르다고 합니다.
  2. 데이터 저장

    • 기본적으로 스냅샷 기능을 제공하며 Memchaed와 다르게 메모리에만 저장하지않고 파일로도 저장하기 때문에 저장된 시점으로 복구도 가능합니다.
  3. 영구적 보존 가능

    • Expire를 설정하지않으면 데이터가 삭제되지 않습니다.
  4. 여러 컴퓨터의 서버 구성이 가능

    • 단점으로는 메모리의 파편화, 메모리 사용량 증가, 대용량의 데이터처리시 Memcahed보다 불안정하다는 점이 있습니다.
profile
개발자가 되기 위한 1인

0개의 댓글