Redis 명령 조작 중국어...login
Redis 명령 조작 중국어 매뉴얼
작가:php.cn  업데이트 시간:2022-04-12 14:07:28

Redis HyperLog로그


Redis는 버전 2.8.9에서 HyperLogLog 구조를 추가했습니다.

Redis HyperLogLog는 카디널리티 통계에 사용되는 알고리즘입니다. HyperLogLog의 장점은 입력 요소의 수나 양이 매우 클 때 카디널리티를 계산하는 데 필요한 공간이 항상 고정되어 있다는 것입니다. , 그리고 매우 작습니다.

Redis에서 각 HyperLogLog 키는 거의 2^64개의 서로 다른 요소의 기초를 계산하는 데 12KB의 메모리만 필요합니다. 숫자. 이는 카디널리티를 계산할 때 더 많은 메모리를 소비하는 컬렉션과 뚜렷한 대조를 이룹니다. 요소가 많을수록 더 많은 메모리가 소비됩니다.

그러나 HyperLogLog는 입력 요소를 기준으로만 베이스를 계산하고 입력 요소 자체를 저장하지 않기 때문에 HyperLogLog는 컬렉션과 같은 입력의 개별 요소를 반환할 수 없습니다.


카디널리티란 무엇인가요?

예를 들어 데이터 세트가 {1, 3, 5, 7, 5, 7, 8}이면 이 데이터 세트의 카디널리티 세트는 {1, 3, 5,7, 8}, 카디널리티(반복되지 않는 요소)는 5입니다. 카디널리티 추정은 허용 가능한 오류 범위 내에서 카디널리티를 빠르게 계산하는 것입니다.


다음 예는 HyperLogLog의 작업 프로세스를 보여줍니다.

redis 127.0.0.1:6379> PFADD w3ckey "redis"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mongodb"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mysql"

1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3ckey

(integer) 3

Redis HyperLogLog 명령

다음 표에는 redis HyperLogLog의 기본 명령이 나열되어 있습니다.

序号命令及描述
1PFADD key element [element ...]
添加指定元素到 HyperLogLog 中。
2PFCOUNT key [key ...]
返回给定 HyperLogLog 的基数估算值。
3PFMERGE destkey sourcekey [sourcekey ...]
将多个 HyperLogLog 合并为一个 HyperLogLog

PHP 중국어 웹사이트