PFMERGE 로 HyperLogLog 병합하기
이 단계에서는 PFMERGE 명령을 사용하여 여러 HyperLogLog 를 단일 HyperLogLog 로 병합하는 방법을 배웁니다. 이는 여러 HyperLogLog 에 데이터가 분산되어 있고 총 고유 요소에 대한 추정치를 얻고 싶을 때 유용합니다.
PFMERGE 이해
PFMERGE 명령은 여러 HyperLogLog 를 대상 HyperLogLog 로 병합합니다. 대상 HyperLogLog 는 모든 소스 HyperLogLog 의 요소의 합집합을 포함합니다.
구문:
PFMERGE destkey sourcekey [sourcekey ...]
destkey: 대상 HyperLogLog 의 이름 (병합된 결과가 저장될 위치). 존재하지 않으면 생성됩니다. 존재하면 덮어쓰여집니다.
sourcekey: 병합할 소스 HyperLogLog 의 이름입니다.
예시:
new_users라는 새 HyperLogLog 를 생성하고 여기에 몇 명의 사용자를 추가해 보겠습니다.
redis-cli
PFADD new_users user8 user9 user10
exit
이제 users 및 new_users HyperLogLog 를 all_users라는 새 HyperLogLog 로 병합해 보겠습니다.
redis-cli
PFMERGE all_users users new_users
다음과 같은 출력을 볼 수 있습니다.
OK
OK 응답은 병합 작업이 성공했음을 나타냅니다.
이제 all_users HyperLogLog 에서 고유 사용자 수를 추정해 보겠습니다.
PFCOUNT all_users
exit
다음과 유사한 출력을 볼 수 있습니다.
(integer) 7
출력 (integer) 7은 HyperLogLog 가 병합된 all_users HyperLogLog 에 약 7 명의 고유 사용자가 있다고 추정함을 나타냅니다.
실습:
redis-cli를 사용하여 Redis 서버에 연결합니다.
PFMERGE 명령을 사용하여 users 및 new_users HyperLogLog 를 all_users라는 새 HyperLogLog 로 병합합니다.
PFCOUNT 명령을 사용하여 all_users HyperLogLog 에서 고유 사용자 수를 추정합니다.
redis-cli를 종료합니다.
PFMERGE all_users users new_users
PFCOUNT all_users
exit
이것으로 Redis 에서 HyperLogLog 를 사용하는 랩이 완료되었습니다. 항목 추가, 고유 항목 수 세기, HyperLogLog 병합 방법을 배웠습니다.