2016-12-19 5 views
1

Existe-t-il un autre moyen plus rapide que EXISTS, pour vérifier si une clé existe dans redis ou non?Le moyen le plus rapide de vérifier la clé existe dans redis - php

Mon problème est, j'ai plus de 1 million d'enregistrements en redis et je dois faire une vérification key_exists. Cela devrait arriver dans les 10ms.

Une idée de ce produit?

+1

'EXISTS' a une complexité de temps de 'O (1)', c'est le meilleur que vous pouvez obtenir. – Federkun

Répondre

1

L'utilisation de la commande EXISTS est le moyen le plus rapide, cela devrait être extrêmement rapide. Si vous pensez que c'est trop lent c'est probablement la latence entre votre serveur et le serveur redis et rien à voir avec la commande elle-même.

0

Pour réduire le temps, vous devez conserver les index de vos clés en utilisant un modèle logique pour votre application. Cela signifie au lieu d'avoir à faire exists sur toutes les clés que vous pouvez faire un sismember ou zscore sur votre ensemble d'index/zset. Ainsi, par exemple, vous avez des clés liées aux utilisateurs, les messages et les classements etc vous gardez ensembles appelés keys:users, keys:messages etc. J'ai une bibliothèque juste open source pour aider à gérer vos noms clés et de faire ce genre de choses un peu plus facile https://github.com/imikemiller/Pkeys