HyperLogLog
được sử dụng để đếm các mục duy nhất. Nó có thể đếm một số lượng lớn các mục với một bộ nhớ nhỏ. Tuy nhiên, bản số trả về KHÔNG chính xác mà chỉ gần đúng với standard error
.
0,81% là standard error
, KHÔNG phải là dương tính giả. Đối với trường hợp của bạn, bạn có thể gọi PFCOUNT HLL
để có được số lượng gần đúng các mục duy nhất mà bạn đưa vào HyperLogLog
. Số trả về phải nằm trong khoảng [10000 * (1 - 0.81%), 10000 * (1 + 0.81%)]
.
PFADD
trả về 1 nếu số lượng ước tính được thay đổi sau khi thực hiện lệnh. Nó trả về 0, ngược lại. Nó không liên quan gì đến false positive
.
Có vẻ như những gì bạn cần là Bộ lọc Bloom, có thể cho bạn biết liệu một mục đã tồn tại trong tập dữ liệu hay chưa, với dương tính giả. Bạn có thể triển khai Bloom Filter
với Redis, tất nhiên. Và nên có một số dự án mã nguồn mở cho điều đó.