REDIS : BRPOP key [key ...] timeout

2.0.0. 이후 버전에서 사용 시간복잡도 BRPOP은 RPOP의 블럭(Block) 버전이다. 기본적으로 RPOP 즉 리스트의 마지막에 있는 아이템을 POP하지만, POP할 아이템이 없을 경우 timeout 시간만큼 블럭된다. timeout 시간만큼 블럭되는 것을 제외하고는 RPOP와 동일하므로 자세한 사용법은 RPOP 문서를 참고하면 된다. timeou...

REDIS : LINDEX key index

1.0.0 버전 부터 사용 시간 복잡도 LINDEX는 key의 index 위치에 있는 아이템을 반환한다.index는 0부터 시작하므로 0은 첫번째 아이템을, 1은 두번째 아이템을 의미한다. 음수의 경우 리스트의 끝에서 부터 index를 찾는다. -1은 마지막 아이템을 의미하고 -2는 마지막에서 두번째 아이템을 의미한다.key가 리스트(List)가 아닌 경...

GraphDB

그래프데이터베이스(GDB)는 시맨틱 쿼리를 위해서 노드와 엣지로 구성되는 그래프 구조를 사용하여 데이터를 표현하고 저장하는 데이터베이스다.데이터의 관계를 직접 연결하기 때문에 서로 연결된 데이터들을 한번의 작업으로 검색 할 수 있다. 그래프 데이터베이스에서는 관계가 가장 중요하다. 이들 관계는 데이터베이스에 직접 저장되기 때문에 매우 빠르다.(RDBMS의 ...

Mysql에서 JSON 활용

은 인터넷 상에서 서로 다른 애플리케이션 간에 데이터를 주고 받기 위해서 사용하는 오픈 파일 포맷이다. XML과 비슷하다고 볼 수 있다. 그렇다면 이미 널리 사용하고 있었던 XML 대신 JSON 이라는 새로운 포맷이 나온 이유가 뭘까 ? 참고로 XML은 1998년 표준 권고안이 나왔고 JSON은 2013년 ECMA-404를 통해서 표준이 만들어졌다. (물론...

GoLang과 DynamoDB

Go 언어를 이용해서 Dynamodb에 CRUD하는 방법을 살펴볼 것이다. 우분투 리눅스 19.04 Go version 1.12 AWS Cloud 서울 리전 데이터베이스 DynamoDB는 AWS의 관리형 NoSQL 데이터베이스다. 서버가 필요 없는 서버리스(ServerLess) 환경을 제공한다. 개발자는 가용성, 확장, 성능 등에 대한 고민 없이 개발 할 ...

ZADD - Redis

사용가능한 버전 시간복잡도 특정 키에 멤버를 추가 할 수 있다. 멤버를 추가 할 때는 스코어(score)를 설정 할 수 있다. 멤버는 스코어를 기준으로 정렬되서 저장된다. 이미 존재하는 멤버라면 멤버의 스코어가 업데이트되며, 재 정렬된다. 스코어&멤버 쌍으로 저장이 되며, 하나 이상을 설정 할 수 있다.key 가 없다면, 새로운 key가 만들어지고 첫 ...

Redis data structures - SET

소프트웨어 프로그래밍에서 가장 먼저 다루는 데이터 스트럭처는 비트, 배열, 스트링, 리스트다. 단순해서 배우고 응용하기 쉽고, 다른 데이터 스트럭처를 이해하기 위한 기본이 되기 때문이다. 단점은 단순한 만큼 응용범위도 넓지 않다는데 있다.Sets는 좀 더 복잡하고 그 만큼 더 다양한 응용을 할 수 있다.Sets는 key에 하나 이상의 value를 가지는 데...

Redis data structure - List

Redis 리스트(List)는 입력순서에 따라 정렬된 string의 목록이다. 목록의 왼쪽 혹은 오른쪽 끝에 새로운 요소를 밀어 넣는 식으로 리스트에 string 데이터를 추가 할 수 있다. 링크드리스트(Linked List)의 구현이라고 보면 된다.LPUSH(Left push)는 왼쪽에 데이터를 추가하는 반면, RPUSH(Right Push)는 오른쪽에 ...

SetEX key seconds value

사용 가능한 버전 시간 복잡도 문자열 값을 저장할 key를 만들 때, 타임아웃(timeout)도 설정 할 수 있다. 키sms 타임아웃 시간이 지난뒤에 삭제된다. 아래 두 개의 명령과 동일한 효과다. SET mykey valueEXPIRE mykey secondsSETEX는 원자적(atomic)하게 작동하한다. 두개의 명령으로 완전히 동일한 일을 하려면 ...

REDIS Geo API

REDIS 3.2부터 위치기반 데이터를 저장하고 꺼내기 위한 Geo API를 지원한다. (2017년 10월)현재 내가 사용하는 우분투 리눅스 17.04에 설치된 redis 버전은 3.2.1 이다. redis 서버에 접근한 다음 info 명령으로 확인 할 수 있다.yundream@home127.0.0.1# Serverredis_versionredis_git_...