HyperLogLog
används för att räkna unika föremål. Den kan räkna ett stort antal föremål med lite minne. Den returnerade kardinaliteten är dock INTE exakt, utan ungefärlig med ett standard error
.
0,81 % är standard error
, INTE den falska positiva. Till exempel kan du ringa PFCOUNT HLL
för att få det ungefärliga antalet unika föremål som du lägger in i HyperLogLog
. Det returnerade numret ska ligga inom intervallet [10000 * (1 - 0.81%), 10000 * (1 + 0.81%)]
.
PFADD
returnerar 1 om den uppskattade kardinaliteten ändras efter att kommandot har utförts. Den returnerar 0, annars. Det har ingenting att göra med false positive
.
Det verkar som vad du behöver är ett Bloom Filter, som kan tala om för dig om ett objekt redan finns i en datamängd, med falsk positiv. Du kan implementera ett Bloom Filter
med Redis, förstås. Och det borde finnas något projekt med öppen källkod för det.