Redis
 sql >> Datenbank >  >> NoSQL >> Redis

redis HLL zu viele Fehlalarme

HyperLogLog wird zum Zählen einzigartiger Gegenstände verwendet. Es kann eine große Anzahl von Artikeln mit wenig Speicher zählen. Die zurückgegebene Kardinalität ist jedoch NICHT exakt, sondern wird mit einem standard error angenähert .

0,81 % ist der standard error , NICHT das falsche Positiv. Für Ihre Instanz können Sie PFCOUNT HLL aufrufen um die ungefähre Anzahl einzigartiger Elemente zu erhalten, die Sie in das HyperLogLog eingegeben haben . Die zurückgegebene Zahl sollte im Bereich von [10000 * (1 - 0.81%), 10000 * (1 + 0.81%)] liegen .

PFADD gibt 1 zurück, wenn die geschätzte Kardinalität nach Ausführung des Befehls geändert wird. Andernfalls wird 0 zurückgegeben. Es hat nichts mit false positive zu tun .

Es scheint, was Sie brauchen, ist ein Bloom-Filter, der Ihnen sagen kann, ob ein Element bereits in einem Datensatz vorhanden ist, mit falsch positivem Ergebnis. Sie können einen Bloom Filter implementieren Mit Redis natürlich. Und dafür sollte es ein Open-Source-Projekt geben.