소개

Redis 기본 정의

Redis는 ANSI C 언어로 작성된 오픈소스 소프트웨어로 네트워크 접근을 지원하며 메모리 저장과 영속 기능을 갖춘 키‑값(Key‑Value) 데이터베이스 / 저장 시스템입니다. 여러 프로그래밍 언어용 클라이언트 API를 제공합니다.

  1. NoSQL 비관계형 데이터베이스에 속합니다;
  2. Memcached와 같은 계열이지만 기능이 더 풍부하며 Memcached의 단점을 보완할 수 있습니다;
  3. MySQL 등 관계형 데이터베이스의 보조 캐시 솔루션으로 자주 사용됩니다.

지원하는 데이터 타입

  • String:문자열 타입
  • List:양방향 연결 리스트
  • Set:순서가 없는 집합
  • zset(sorted set):정렬된 집합
  • Hash:해시 구조(Map과 유사)

Memcached는 문자열 타입만 지원하며 이것이 둘의 대표적인 차이점 중 하나입니다.

주요 특징

  1. 다중 언어 클라이언트 지원
    공식에서 Java, C/C++, C#, PHP, JavaScript, Python, Ruby, Perl 등 다양한 언어용 SDK를 제공해 개발 연동이 간편합니다.
  2. 마스터‑슬레이브 동기화
    마스터‑슬레이브 복제를 지원해 원격 백업, 읽기‑쓰기 분리를 구현하고 가용성을 높입니다.
  3. 고성능
    데이터를 메모리에 우선 저장해 읽기 쓰기 속도가 매우 빠르며 분산 캐시로 널리 쓰입니다.
  4. 데이터 영속 기능
    메모리 데이터를 디스크에 저장 가능해 재시작해도 데이터가 전부 사라지지 않습니다(Memcached는 기본적으로 영속 기능이 없습니다).

배경

초기 Redis 프로젝트는 VMware의 지원을 받아 개발 및 유지보수되었습니다.

데모는 WinForm(C#) 간단한 Redis 클라이언트 예제로 진행합니다. C#에서 Redis를 다루는 입문용 샘플 프로그램입니다.

  • 키‑값 설정
  • 키로 값 조회

Redis 와 Memcached 간단 비교

특징RedisMemcached
데이터 타입5가지 기본 구조문자열만 지원
영속화RDB/AOF 영속 지원영속 기능 없음
마스터‑슬레이브 복제지원기본 지원하지 않음
메모리 제거 정책다양한 제거 정책LRU 제거

소개

Next:

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다