English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis에서 2.8.9 버전에 HyperLogLog 구조가 추가되었습니다.
Redis HyperLogLog은 기본 통계를 위해 사용되는 알고리즘입니다. HyperLogLog의 장점은, 입력 요소의 수나 부피가 매우 많을 때, 기본을 계산하기 위해 필요한 공간이 항상 고정됩니다. 의, 그리고 매우 작습니다.
Redis에서는 각 HyperLogLog 키에 대해 필요한 메모리는 매우 적고, 매우 작습니다. 12 KB 메모리를 사용하면, 근접 2^64 개의 다른 요소의 기본 수. 이는 계산 기본수에서 요소가 많을수록 메모리 소모가 많은 집합과 명확한 대조를 이룹니다.
하지만, HyperLogLog은 입력 요소를 저장하지 않고 입력 요소에 따라 기본을 계산하기 때문에}} HyperLogLog은 집합과 같이 입력된 각 요소를 반환할 수 없습니다.
예를 들어 데이터 집합 {1, 3, 5, 7, 5, 7, 8}, 그렇다면 이 데이터 집합의 기본 집합은 {1, 3, 5 ,7, 8}, 기본(중복되지 않는 요소)은5基数 추정은 오차가 용납 가능한 범위 내에서 빠르게 기본을 계산하는 것입니다.
다음 예제는 HyperLogLog의 작동 방식을 설명합니다:
redis 127.0.0.1:6379> PFADD w3codeboxkey "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT w3codeboxkey (integer) 3
다음 표는 redis HyperLogLog의 기본 명령어를 나열합니다:
순번 | 명령 및 설명 |
---|---|
1 | PFADD key element [element ...] 지정된 요소를 HyperLogLog에 추가합니다. |
2 | PFCOUNT key [key ...] 주어진 HyperLogLog의 기본 추정 값을 반환합니다. |
3 | PFMERGE destkey sourcekey [sourcekey ...] 여러 HyperLogLog을 하나의 HyperLogLog로 병합 |