APPEND key value

APPEND key value 사용 가능한 버전 시간 복잡도 만약 key가 이미 존재하고 값이 string 이라면, string의 마지막에 value를 덧 붙인다(append). 만약 key가 없다면, key를 만들고 value를 설정한다. 이 경우 SET과 비슷하게 작동한다.Interger 값 > DEL mystr(integer) 1> EXISTS ...

LPUSH key value [value ...]

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

Monwiki - couchdb 변환 작업 기록 정리

Monwiki - couchdb 변환 작업 기록 정리Moniwiki를 couchdb기반으로 재 작성하는 과정을 기록으로 남긴다. 기반으로 바꾸려는 이유는 다음과 같다.Moniwiki가 가지는 문제의 핵심은 모든 정보를 파일기반으로 관리하는데 있다. 물론 파일기반이라서 가지는 장점도 있다. 데이터의 관리를 운영체제에 맡기는 거라서, 다른 소프트웨어를 설치...

Redis Pub/Sub

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

Pipelining

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

EXISTS key

EXISTS key 1.0.0 부터지원 시간 복잡도 키가 있으면 1 키가 없으면 0redis> SET key1 "Hello"okredis> EXISTS key11redis> EXISTS key20...

SETBIT key offset value

SETBIT key offset valueSETBIT key offset value 2.2.0 부터 지원 시간 복잡도 Key에 bit를 설정한다. offset을 이용해서, bit를 설정할 위치를 설정할 수 있다. SETBIT로 특정 위치의 비트값을 0혹은 1로 설정할 수 있다. 만약 key가 없다면, 새로운 key를 만든 다음 비트를 설정한다. offs...

SET key value

SET key value 1.0.0 버전 부터 지원 시간 복잡도 Key에 Value를 저장한다. 만약 key가 이미 있다면, value의 데이터 타입에 관계없이 덮어쓴다.2.6.12 버전 부터 아래의 옵션을 지원한다. Ex seconds Px milliseconds NX XX 2.6.12 이전에는 SETNX, SETEX, PSETEX등이 있었는데,...

SADD key member [member ...]

SADD key member 1.0.0 부터 지원 시간 복잡도 Key에 멤버를 추가한다. 멤버에 같은 값이 이미 있다면, 저장하지 않는다. 만약 키가 없다면, 새로운 set을 만들고 멤버를 추가한다. Key가 set형 데이터가 아닐 경우에는 에러를 반환한다. 이미 존재하는 모든 원소의 갯수가 아닌, set에 추가된 원소의 갯수를 반환한다.> SADD m...

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 세개의 원소를 제거...