2016-11-05 4 views
0

J'essaie d'implémenter le filtre Coucou dans Redis. Ce que j'ai jusqu'à maintenant fonctionne bien, sauf qu'il insère simplement toutes les valeurs sur un seul nœud même lorsque vous travaillez sur un cluster. Pour l'implémenter sur plusieurs nœuds, je pense à diriger différents éléments vers différents nœuds en utilisant une fonction de hachage. Existe-t-il un appel de commande ou de fonction dans Redis qui permet de forcer des éléments à un nœud particulier en utilisant sa clé ou son numéro, ou même un emplacement particulier? Pour référence, this is the implementation of cuckoo filter J'ai jusqu'à maintenant. En aparté, existe-t-il une implémentation existante du filtre Coucou ou du filtre Bloom sur les nœuds distribués dans Redis auquel je peux me référer?Implémentation du filtre coucou sur plusieurs nœuds dans Redis

+1

Vous ne pouvez forcer que des clés données vers le même noeud, ce qui est possible via 'hash tags'. Par exemple, les deux clés 'foo {zap}' et 'bar {zap}' hacheront le même emplacement de hachage puisque la chaîne dans '{}' est la même. – antirez

Répondre

0

This page explique comment le cluster Redis fonctionne et comment le redis-cli fonctionne lorsqu'il est utilisé en mode cluster. D'autres clients font un meilleur traitement des opérations en mode cluster, mais la fonctionnalité de base de la redis-cli devrait fonctionner pour des tests simples.

Si vous vérifiez le code d'autres structures de données (par exemple, hachage ou ensemble) fournis avec Redis, vous remarquerez qu'ils n'ont pas de code pour gérer le mode cluster. Ceci est géré par le code dans cluster.c, et devrait être orthogonal à votre implémentation. Êtes-vous sûr d'avoir correctement configuré le cluster et le cli Redis?