L'Extraction Des Clés De Redis

J'utilise le code suivant pour extraire toutes les Clés commencent par "NOM:" et il retourne uniquement plus de 5 000 enregistrements (Il n'y a plus de 60 000 touches de mon index). Quelqu'un peut-il expliquer pourquoi il se passe ou comment puis-je extraire toutes les touches de Redis.

jedis.select(3);

    Set<String> names=jedis.keys("NAME:*");

    Iterator<String> it = names.iterator();
    while (it.hasNext()) {
        String s = it.next();
        System.out.println(s);
    }
Êtes-vous sûr que tous vos clés commençant par "NOM:"? Je pense que les touches de commande est sensible à la casse, donc si vous avez un "nom" ou "Nom:" il ne correspond pas.
Merci pour la Réponse. Oui, je suis Sûr que Tous mes Clés de Commencer avec "NOM:". Et aussi je extraire manuellement les Clés de commencer avec "NOM:" et il n'y a plus de 60 000 résultat.
cela semble vraiment étrange, ce sont toutes les clés dans la base de données que vous avez choisie? Avez-vous utilisé les jedis Chaîne de l'api, ou byte[] pour écrire les clés? j'ai utilisé les touches de commande dans certains scénarios, une n'a jamais eu de problèmes
avez-vous une réponse à ce par hasard?
de redis documentation, ils ne recommandent pas l'utilisation de KEYS de commande sur la production de l'environnement. ainsi, vous pouvez utiliser SCAN à la place. Avertissement: considérer les TOUCHES comme une commande qui ne devrait être utilisé dans les environnements de production avec un soin extrême. Il peut ruiner les performances lorsqu'il est exécuté sur de grandes bases de données. Cette commande est destinée à des fins de débogage et d'opérations spéciales, telles que la modification de votre espace de mise en page. Ne pas utiliser les TOUCHES de votre code d'application. Si vous êtes à la recherche d'un moyen de trouver les clés dans un sous-ensemble de votre espace de clé, envisager l'utilisation du BALAYAGE ou de jeux.

OriginalL'auteur BonBoon | 2012-10-30