2017-09-03 1 views
0

특정 숫자를 추적하기 위해 Redis를 사용하고 싶습니다. 기본적으로 그들은 카운터입니다. Redis를 사용하여 이러한 카운터가 증가하는 비율을 추적하는 방법이 있습니까?Redis를 사용하여 카운터에서 버스트 또는 스파이크 감지 구현

예를 들어 카운터는 대부분 분당 10의 속도로 증가하지만 갑자기 분당 40의 속도로 증가합니다. 어떻게 감지 할 수 있습니까?

답변

0

직접 할 수는 없지만, 예를 들어 약간의 클라이언트 측 또는 루아 기반 처리와 같은 정렬 된 집합으로이를 수행 할 수 있습니다.

ZINCRBY mykey timestamp 1 

이 그럼 당신은 타임 스탬프 당 간단한 카운터를 가지고 :

의 당신이 값을 증가 할 때마다 창을 위해, 정렬 된 세트를 사용한다고 가정 해 봅시다.

당신이 그것을 분석 할

, 당신은 WITHSCORES을 사용하여 점수를 받고, ZRANGE 또는 ZREVRANGE로 시간 범위를 가지고, 그리고 이상을 검출하기위한 차이에 대한 몇 가지 처리를 할 수 있습니다. 여러 가지 방법이 있습니다. 여기에 몇 가지 링크가 있습니다 : https://stats.stackexchange.com/questions/152644/what-algorithm-should-i-use-to-detect-anomalies-on-time-series