>>>REDIS 소개
REDIS는 BSD 라이센스 기반의 Key-value 캐쉬 & Store 소프트웨어다. 
String, hash, lists, sets, sorted set, bitmap, hyperloglogs 등 다양한 데이터 구조를 저장할 수 있기 때문에, 
data structure server라고 부르기도 한다.
메모리에 데이터를 쓰는 In memory 데이터베이스 그리고 NoSQL 데이터베이스로 분류된다. 
데이터에 대한 읽기와 쓰기가 많은 서비스에 사용 할 수 있다. 
Memcached와 비슷한 스팩을 가지고 있는데, 다양한 유형의 데이터를 지원한다는게 장점이다.

>>>Redis 자료구조 테스트
1.
Strings키에 대한 값으로 문자열(string)를 저장한다. 
단순한 타입으로, redis를 사용한다고 하면 가장 먼저 고려해볼만한 타입이다. 
JSON, XML등 문자열로 된 데이터들을 저장할 수 있다. 
웹 서비스를 한다면, HTML 문서의 전체 혹은 일부분을 캐쉬하기 위해서 사용할 수 있다.

SET을 이용해서 값을 저장하고, GET을 이용해서 값을 가져올 수 있다. 
이미 있는 key에 대해서 값을 설정하면, 값을 덮어쓴다.
특이한 점은 string이라고 해서 문자열만 저장하는게 아니고, 바이너리(binary) 데이터도 저장할 수 있다는 거다.

MSET과 MGET을 이용해서 한 번에 여러 개의 key, value를 저장하고 읽을 수 있다.

2.
리스트

LPUSH를 이용해서 리스트의 맨 앞(왼쪽-left)에, RPUSH를 이용해서 리스트의 맨 뒤에 값을 밀어넣을 수 있다. LRANGE로 일정 범위의 값을 읽을 수 있다.
LRANGE는 시작과 끝을 위한 두 개의 index 값이 필요하다. 인덱스가 마이너스(-)이면, 리스트의 끝(오른쪽)을 기준으로 인덱스 값을 메긴다. 
오른쪽 끝의 인덱스는 -1이다. 따라서 "0 -1"은 0번째 부터 마지막 까지의 범위를 의미한다.한번에 여러개의 값을 저장할 수도 있다.

KEY POINT>>>>
pop은 Redis list에서 가장 중요한 연산일 것이다. 이 연산은 리스트에서 값을 읽는게, 아니라 꺼낸다. 
읽으면서 지운다라고 생각하면 되겠다.
pop은 Redis list에서 가장 중요한 연산일 것이다. 이 연산은 리스트에서 값을 읽는게, 아니라 꺼낸다. 
읽으면서 지운다라고 생각하면 되겠다.
pop은 Redis list에서 가장 중요한 연산일 것이다. 이 연산은 리스트에서 값을 읽는게, 아니라 꺼낸다. 
읽으면서 지운다라고 생각하면 되겠다.
pop은 Redis list에서 가장 중요한 연산일 것이다. 이 연산은 리스트에서 값을 읽는게, 아니라 꺼낸다. 
읽으면서 지운다라고 생각하면 되겠다.
3.

Blocking operation on lists

REDIS는 list 데이터 타입에 대해서 Blocking operation을 지원한다.list로 부터 값을 꺼내기(POP)위한 가장 방법은 주기적으로 rpop를 호출하는 것이다. 
이 방식은 주기를 조절하는게 애매모호하기 때문에 그다지 좋아 보이지 않는다. 
POP을 호출하는 시점에 읽을 데이터가 없다면, 읽을 데이터가 준비될 때까지 blocking 되는게 깔끔해 보인다. 
한번의 호출로 데이터를 읽을 수 있기 때문이다.BRPOP과 BLPOP 명령을 이용하면, blocking 작업이 가능하다. 
이들 명령을 호출하면, 데이터가 없을 경우 데이터가 준비될 때까지 block된다. 물론 block 시간 설정도 가능하다.

+ Recent posts