2016-03-11 2 views
1

J'ai un scénario dans lequel je déverse une énorme quantité de données de la structure de données Google Big Query vers Redis SET pour obtenir un meilleur temps de réponse. J'ai besoin que l'opération SET UNION soit effectuée sur des millions de clés. J'ai testé avec quelques milliers de touches et fonctionne bien. La question est, il n'y a aucune limite sur le nombre de clés peuvent être fournies à une commande SUNION à la fois? Est-ce vraiment SUNION Key1 Key2 Key3 ..... KeyN? Considérons que j'ai assez de capacité du système.Le nombre de clés dans une opération Redis SET UNION est-il limité?

Répondre

1

[...] sur des millions de clés

Il n'y a pas de présentation dans la documentation Redis une limitation du nombre de clés peuvent être fournis en une seule commande sunion.

BTW, je doute que faire une telle opération pourrait être une bonne idée dans Redis. Rappelez-vous que Redis sera bloqué jusqu'à cette opération et qu'aucune autre opération ne sera exécutée avant la fin du sunion.

Mon meilleur conseil sera vous devriez le faire en utilisant de nombreuses commandes sunionstore, et plus tard obtenir tous les résultats de nombreux ensembles comme si les ensembles entiers seraient des pages du résultat de sunion millions de clés.

sunionstore key:pages:1 key1 keyN 

... et plus tard, vous utiliserez un itérateur dans votre couche d'application pour parcourir toutes les pages générées.

+0

Merci @matias pour la réponse rapide. Je suis d'accord avec vous sur SUNIONSTORE et l'itération de la couche application. Je n'ai besoin que de la cardinalité SET. Donc, je crois que SUNIONSTORE avec SCARD fonctionnera sur un grand nombre de clés. –

+0

@TubinVPaul Pas de problème;) Je crois que c'est la voie à suivre –