Redis

Redis

REDIS(Remote Dictionary Server)는 메모리 기반의 “키-값” 구조 데이터 관리 시스템입니다. 모든 데이터를 메모리(RAM)에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 비 관계형 데이터베이스입니다.

레디스는 hash, sorted set, set, list, string의 데이터 형식을 지원합니다.

Redis_example

기본적으로 아래와 같이 WebServer에서 빠른 데이터 획득을 위해 cache db로 사용됩니다.

Redis_usecase

Feature

빠른 처리속도

데이터가 메모리에만 저장 되므로 disk I/O가 없어 빠른 속도로 데이터 쓰기, 읽기가 가능합니다.

휘발성 데이터베이스

메모리에만 저장되기 때문에 redis db를 다시 시작하면 데이터가 전부 유실됩니다. 이러한 문제를 해결하기 위해 데이터를 rdb로 복제하는 기능, 다른 노드에 복제하는 기능이 존재합니다.

쉬운 노드 확장

메모리를 사용하는 만큼 고용량의 메모리를 한 머신에 사용하는 것이 어렵습니다. 그렇기 때문에 저용량의 여러 노드를 구축하여 병렬적으로 사용할 수 있도록 지원합니다.

thread safe 한 인메모리 데이터베이스

redis는 single thread 환경에서 동작하기 때문에, 여러 요청이 들어오더라도 순차적으로 데이터 읽기, 쓰기가 진행됩니다.

Lua Script 를 이용한 transaction 지원

Lua Script 를 이용하여 여러 커맨드를 한번의 요청에서 호출 할 수 있습니다.

SQL 을 지원

http://redisgate.jp/redis/sql/select_intro.php

서버 fail over 상태에 대해 복구가 가능

http://redisgate.kr/redis/sentinel/sentinel.php

Comments