사용 가능한 버전 시간 복잡도 문자열 값을 저장할 key를 만들 때, 타임아웃(timeout)도 설정 할 수 있다. 키sms 타임아웃 시간이 지난뒤에 삭제된다. 아래 두 개의 명령과 동일한 효과다. SET mykey valueEXPIRE mykey secondsSETEX는 원자적(atomic)하게 작동하한다. 두개의 명령으로 완전히 동일한 일을 하려면 ...
AWS에서 제공하는 인프라와 서비스들을 이용해서 대량의 메시지를 교환하는 메시징 애플리케이션을 만들어보려 한다. 메시지는 을 이용한다. 아래와 같은 구성을 가질 것이다.PUB/SUB은 REDIS 고유의 기능으로 구현에 어려움은 없다. 1. 채팅방에 해당하는 Topic을 만든다. 1. 메시지 수신자는 해당 Topic을 구독(REDIS SUBSCRIBE)한다...
REDIS 3.2부터 위치기반 데이터를 저장하고 꺼내기 위한 Geo API를 지원한다. (2017년 10월)현재 내가 사용하는 우분투 리눅스 17.04에 설치된 redis 버전은 3.2.1 이다. redis 서버에 접근한 다음 info 명령으로 확인 할 수 있다.yundream@home127.0.0.1# Serverredis_versionredis_git_...
사용 가능한 버전 시간 복잡도 위도(latitude)와 경도(longitude)를 포함하는 지리정보 데이터를 지정된 키에 추가한다. 저장된 지리정보 데이터는 GEORADIUS, GEORADIUSBYMEMBER명령을 이용해서 검색 할 수 있다. 이 x, y를 인수로 취한다. 반드시 경도,위도 순서로 설정해야 한다. 유효 경도는 -180에서 180 유효 ...
Redis는 data structure server다. 오픈소스 기반이며 key/value 형식으로 데이터를 저장한다. 데이터는 메모리에 저장(in-memory) 덕분에 매우 빠르게 작동한다. 에 따르면 가장 인기있는 key/value 데이터베이스다. 참고로 2위는 Memcached, 3위는 (AWS로 유명한)DynamoDB다. C, C++, C#, Clo...
REDIS 데이터 모델링 예제들메신저 서비스를 개발하고 있다. 메시지를 보냈는데, 수신 대상이 연결하지 않은 상태일 수도 있다. 이 경우에 메시지는 메시지 함(Message Box)에 저장하기로 했다. 유저가 연결하면, 메시지 함에서 메시지를 읽어온다. 메시지 함의 크기는 메시지에 대한 정책에 따라 달라질 수 있다. 나는 "모든 메시지는 중요하다."는 관...
Key가 100만 단위로 늘어날 경우 성능에 미치는 영향을 테스트 했다. 테스트 환경은 다음과 같다. REDIS 서버 REDIS 클라이언트 언어 100만개와 1000만개의 데이터로 테스트를 진행했다. Key를 입력하는 데도 시간이 꽤 걸리기 때문에, 파일을 만든다음 벌크(bulk)로 한번에 입력했다. File.open(1million.txt, w) do...
REDIS 소개, 설치, 데이터 타입 테스트REDIS는 BSD 라이센스 기반의 Key-value 캐쉬 & Store 소프트웨어다. String, hash, lists, sets, sorted set, bitmap, hyperloglogs 등 다양한 데이터 구조를 저장할 수 있기 때문에, data structure server라고 부르기도 한다. 메모리에 ...
APPEND key value 사용 가능한 버전 시간 복잡도 만약 key가 이미 존재하고 값이 string 이라면, string의 마지막에 value를 덧 붙인다(append). 만약 key가 없다면, key를 만들고 value를 설정한다. 이 경우 SET과 비슷하게 작동한다.Interger 값 > DEL mystr(integer) 1> EXISTS ...
36 POSTS HERE
SetEX key seconds value
사용 가능한 버전 시간 복잡도 문자열 값을 저장할 key를 만들 때, 타임아웃(timeout)도 설정 할 수 있다. 키sms 타임아웃 시간이 지난뒤에 삭제된다. 아래 두 개의 명령과 동일한 효과다. SET mykey valueEXPIRE mykey secondsSETEX는 원자적(atomic)하게 작동하한다. 두개의 명령으로 완전히 동일한 일을 하려면 ...
ElasticCache 기반 메시징 애플리케이션 개발
AWS에서 제공하는 인프라와 서비스들을 이용해서 대량의 메시지를 교환하는 메시징 애플리케이션을 만들어보려 한다. 메시지는 을 이용한다. 아래와 같은 구성을 가질 것이다.PUB/SUB은 REDIS 고유의 기능으로 구현에 어려움은 없다. 1. 채팅방에 해당하는 Topic을 만든다. 1. 메시지 수신자는 해당 Topic을 구독(REDIS SUBSCRIBE)한다...
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_...
GEOADD
사용 가능한 버전 시간 복잡도 위도(latitude)와 경도(longitude)를 포함하는 지리정보 데이터를 지정된 키에 추가한다. 저장된 지리정보 데이터는 GEORADIUS, GEORADIUSBYMEMBER명령을 이용해서 검색 할 수 있다. 이 x, y를 인수로 취한다. 반드시 경도,위도 순서로 설정해야 한다. 유효 경도는 -180에서 180 유효 ...
REDIS
Redis는 data structure server다. 오픈소스 기반이며 key/value 형식으로 데이터를 저장한다. 데이터는 메모리에 저장(in-memory) 덕분에 매우 빠르게 작동한다. 에 따르면 가장 인기있는 key/value 데이터베이스다. 참고로 2위는 Memcached, 3위는 (AWS로 유명한)DynamoDB다. C, C++, C#, Clo...
REDIS 데이터 모델링 예제들
REDIS 데이터 모델링 예제들메신저 서비스를 개발하고 있다. 메시지를 보냈는데, 수신 대상이 연결하지 않은 상태일 수도 있다. 이 경우에 메시지는 메시지 함(Message Box)에 저장하기로 했다. 유저가 연결하면, 메시지 함에서 메시지를 읽어온다. 메시지 함의 크기는 메시지에 대한 정책에 따라 달라질 수 있다. 나는 "모든 메시지는 중요하다."는 관...
Redis Command 목록
...
REDIS 성능 테스트
Key가 100만 단위로 늘어날 경우 성능에 미치는 영향을 테스트 했다. 테스트 환경은 다음과 같다. REDIS 서버 REDIS 클라이언트 언어 100만개와 1000만개의 데이터로 테스트를 진행했다. Key를 입력하는 데도 시간이 꽤 걸리기 때문에, 파일을 만든다음 벌크(bulk)로 한번에 입력했다. File.open(1million.txt, w) do...
REDIS 소개, 설치, 데이터 타입 테스트
REDIS 소개, 설치, 데이터 타입 테스트REDIS는 BSD 라이센스 기반의 Key-value 캐쉬 & Store 소프트웨어다. String, hash, lists, sets, sorted set, bitmap, hyperloglogs 등 다양한 데이터 구조를 저장할 수 있기 때문에, data structure server라고 부르기도 한다. 메모리에 ...
APPEND key value
APPEND key value 사용 가능한 버전 시간 복잡도 만약 key가 이미 존재하고 값이 string 이라면, string의 마지막에 value를 덧 붙인다(append). 만약 key가 없다면, key를 만들고 value를 설정한다. 이 경우 SET과 비슷하게 작동한다.Interger 값 > DEL mystr(integer) 1> EXISTS ...