레디 스 HyperLogLog
레디 스에서 2.8.9 버전은 HyperLogLog 구조를 추가합니다.
레디 스 HyperLogLog베이스 입력 또는 부피 요소의 수가 매우 매우 크다는 것을 계산에 기초하여 필요한 공간이 항상 고정이며, 아주 작은 장점 HyperLogLog 통계적 알고리즘을 만들기 위해 사용된다.
각 키 HyperLogLog 내부 레디 스 만 당신은 가장 가까운 기지국 2 ^ 64 가지 요소를 계산할 수, 메모리 12 킬로바이트합니다. 이 때 계산베이스 더 대조적 모음의 메모리 집약적 소자.
그러나 HyperLogLog 때문 만 입력 요소 계산베이스를 기반으로하지만, 컬렉션 HyperLogLog은 각 입력 요소로 돌아 좋아하지되도록 입력 요소 자체를 저장하지 않는다.
기본은 무엇인가?
예를 들어, 상기 데이터 세트는 {1, 3, 5, 7, 5, 7, 8} 다음 데이터 세트의 세트의 카디널리티는 {1, 3, 5, 7, 8}베이스 (반복하지 소자) 5 점. 카디널리티 추정 오차가 허용 범위, 빠른 계산 기지에 있습니다.
예
다음은 작업 공정 HyperLogLog을 보여줍니다
redis 127.0.0.1:6379> PFADD w3bigkey "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD w3bigkey "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD w3bigkey "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT w3bigkey (integer) 3
레디 스 HyperLogLog 명령
다음 표는 HyperLogLog 레디 스 기본적인 명령에 대해 설명합니다 :
아니오. | 명령 및 설명 |
---|---|
(1) | PFADD 핵심 요소 [요소 ...] 에 HyperLogLog에 지정된 요소를 추가합니다. |
이 | PFCOUNT 키 [키 ...] 반환 HyperLogLog 카디널리티 추정치를 제공. |
3 | PFMERGE의 destkey의 sourcekey [sourcekey ...] 하나 HyperLogLog에 여러 HyperLogLog |