EXPIRE key seconds

EXPIRE key seconds 1.0.0 버전부터 지원 시간 복잡도 Key에 대해서 timeout을 설정한다. Timeout 시간이 지나면 키는 자동으로 지워진다. 타임아웃 키는 종종 휘발이라고 부르기도 한다. (그냥 타임아웃 키라로 부르련다) TTL을 이용해서 key timeout(삭제)까지 남은 시간을 확인할 수 있다. 설정된 timeout은 D...

HGETALL key

HGETALL key 지원 시간복잡도 key이름의 해시에 저장된 모든 필드에 대한 필드 이름과 필드 값을 리턴한다. 해시에 저장된 필드 이름과 값을 배열로 리턴한다. 키가 없다면 빈 값을 리턴한다.redis> HSET address name "yundream"(integer) 1redis> HSET address email "yundream@gmail....

HSET key field value

HSET key field value 2.0.0 부터 지원 시간 복잡도 Key의 field에 value를 추가한다. Key가 없다면 해시를 새로 만들어서 설정한다. field가 있다면 덮어쓴다. 1 0 redis> HSET myhash address "seoul"(integer) 1redis> HGET myhash address"seoul"redis> ...

INCR key

INCR key 1.0.0 이상에서 사용 가능 시간 복잡도 Key 값을 1 증가시킨다. 만약 key가 없다면, 값이 0인 key를 만든 후 INCR 연산을 한다. 값이 더하기 연산을 할 수 없는 타입(string)인 경우 에러를 반환한다. 저장 가능한 타입의 크기는 64 bit signed integers다. 1 더하기 연산이 끝난 현재의 (Interge...

LPOP key

LPOP key 지원 버전 시간 복잡도 LPOP의 L은 List가 아닌, Left다. 리스트(List)에서 왼쪽 첫번째 요소를 꺼낸 후 삭제한다.첫번째 요소를 꺼낸다. 키가 없다면 nil을 반환한다.redis> RPUSH mylist "one"(integer) 1redis> RPUSH mylist "two"(integer) 2redis> RPUSH my...

LPUSH key value [value ...]

LPUSH key value 1.0.0 부터 지원 시간복잡도 key에 value를 밀어 넣는다. 밀어 넣는 방향은 왼쪽에서 오른쪽이다. 키가 없다면, 빈 목록을 가진 키를 만들고 값을 밀어 넣는다. 키가 리스트 타입이 아니라면 에러를 반환한다. 값을 여러 개 나열하는 것으로 하나 이상의 값을 입력할 수 있다. 값은 0번 인덱스에 들어가며, 기존에 있던...

LTRIM key start stop

LTRIM key start stop 1.0.0 부터 지원 시간 복잡도 Trim은 start에서 stop범위의 원소를 제외한 모든 원소를 list에서 삭제한다. start와 stop은 0부터 시작한다. 즉 0은 리스트의 첫번째 원소, 1은 두번째 원소다. 예를 들어 LTRIM foobar 0 2를 실행하면, foobar의 0, 1, 2 세개의 원소를 제거...

RPUSH key value

RPUSH key value 1.0.0 버전 이상 시간 복잡도 이름이 key인 리스트 자료구조의 마지막(오른쪽)에 값을 밀어(Right Push) 넣는다. Key가 없다면, 비어있는 리스트를 만든다음에 값을 밀어 넣는다. 이 명령을 이용하면, 한 번에 두 개 이상의 값을 넣을 수 있다.Push 동작 후 리스트의 길이를 반환한다. > RPUSH mylist...

Pipelining

PipeliningRedis는 클라이언트-서버 모델을 따르는 TCP 서버로 요청/응답 프로토콜을 사용하고 있다. 이는 요청의 처리를 완료하기 위해서 아래의 과정을 따른다는 것을 의미한다. 클라이언트가 서버로 요청을 보낸다. 서버는 소켓으로 부터 요청 데이터를 읽는다. 서버는 데이터를 처리해서 응답을 보낼 준비를 한다. 일반적으로 이 과정은 blocking...

Redis Pub/Sub

Redis Pub/SubREDIS는 로 알려져 있다. 그런 REDIS가 Pub/Sub를 지원한다. Pub/Sub는 메시지큐와는 특성이 다르다. Pub/Sub 시스템에서는 채널에 구독 신청을 한 모든 subscriber에게 메시지를 전달한다. 메시지를 "던지는" 시스템이기 때문에, 메시지를 보관하지도 않는다. 메시지 큐 본연의 목적과는 좀 다른 기능이라고 ...