Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

redis HLL muitos falsos positivos


HyperLogLog é usado para contar itens exclusivos. Pode contar um grande número de itens com pouca memória. No entanto, a cardinalidade retornada NÃO é exata, mas aproximada com um standard error .

0,81% é o standard error , NÃO o falso positivo. Para sua instância, você pode chamar PFCOUNT HLL para obter o número aproximado de itens exclusivos que você colocou no HyperLogLog . O número retornado deve estar no intervalo de [10000 * (1 - 0.81%), 10000 * (1 + 0.81%)] .

PFADD retorna 1 se a cardinalidade estimada for alterada após a execução do comando. Retorna 0, caso contrário. Não tem nada a ver com false positive .

Parece que o que você precisa é de um Bloom Filter, que pode dizer se um item já existe em um conjunto de dados, com falso positivo. Você pode implementar um Bloom Filter com o Redis, é claro. E deve haver algum projeto de código aberto para isso.