[REDIS] 레디 스에서 시계열 기억
REDIS레디 스에서 시계열 기억
나는 레디 스에 약간의 시계열 데이터를 저장해야합니다. 나는 유닉스 타임 스탬프를하고 난 값을 연결해야한다는 (타임 스탬프를 <-> 값)
나는 점수로 타임 스탬프 (난 타임 스탬프에 zrange을 할 수 있도록) 및 구성원으로 값을 갖는 정렬 된 세트를 시도했다.
127.0.0.1:6379> ZADD timeserie 1392141527245 10 1392141527275 12 1392141527100 10
(integer) 2
127.0.0.1:6379> zscan timeserie 0
1) "0"
2) 1) "10"
2) "1392141527245"
3) "12"
4) "1392141527275"
127.0.0.1:6379>
하지만 난 내 값이 서로 다른 타임 스탬프에 대해 동일 할 수 있지만 구성원이 반복되지 않는된다, 문제를했다. 모든 아이디어는 어떻게 접근 하는가? 다른 데이터가 더 입력되어 있습니까?
해결법
-
==============================
1.이 문제를 해결하는 쉬운 트릭은 타임 스탬프와 값을 연결하는 것입니다.
이 문제를 해결하는 쉬운 트릭은 타임 스탬프와 값을 연결하는 것입니다.
대신 저장 :
ZADD timeserie 1392141527245 10
당신은 저장할 수 있습니다 :
ZADD timeserie 1392141527245 10:1392141527245
타임 스탬프 형식 : 인코딩 어플리케이션까지 / 값을 구문 분석합니다.
그들은 메모리에 특히 컴팩트되지 않도록 정렬 된 세트는, 스킵 목록 플러스 해시 테이블로 구현됩니다. 데이터의 볼륨이 큰 경우, 당신은 더 나은 다른 솔루션에 의해 제공됩니다.
어떤 사람들은 방법으로 정렬 된 세트보다 더 컴팩트 인코딩 시간 시리즈에 일반 문자열을 사용합니다. 당신은 여기에서 예를 찾을 수 있습니다 https://github.com/antirez/redis-timeseries
-
==============================
2.너무 참 값은 반복 할 수 없습니다, 정렬 된 세트입니다. 레디 스 귀하의 사용을위한 가장 좋은 도구가 될하지 않을 수 있습니다, influxdb 같은 전문 데이터베이스에 시도를 제공합니다.
너무 참 값은 반복 할 수 없습니다, 정렬 된 세트입니다. 레디 스 귀하의 사용을위한 가장 좋은 도구가 될하지 않을 수 있습니다, influxdb 같은 전문 데이터베이스에 시도를 제공합니다.
from https://stackoverflow.com/questions/21932987/storing-time-series-in-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 autowire가 RedisTemplate <문자열, 롱> (0) | 2020.01.15 |
---|---|
[REDIS] 레디 스는 - 여러 키의 값을 취득합니다 (0) | 2020.01.14 |
[REDIS] Laravel 4 : 정의되지 않은 메서드 레디 스에 전화 : 연결 () (0) | 2020.01.14 |
[REDIS] 어떻게 루비에서 MULTI 블록 내부 레디 스에서 읽을 수 있습니까? (0) | 2020.01.14 |
[REDIS] 레디 스 / Jedis - 패턴에 의해 삭제 하시겠습니까? (0) | 2020.01.14 |