Existe-t-il une commande Redis pour récupérer toutes les clés de la base de données? J'ai vu des bibliothèques python-redis les récupérer. Mais je me demandais s'il était possible de redis-client.
redis
redis-cli
redis-commands
Lalith
la source
la source
redis-cli keys "*"
KEYS
a le potentiel de bloquer le serveur plus longtemps lors de l'interrogation d'un grand ensemble de donnéesMis à jour pour Redis 2.8 et supérieur
Comme indiqué dans les commentaires des réponses précédentes à cette question,
KEYS
est une commande potentiellement dangereuse car votre serveur Redis ne sera pas disponible pour effectuer d'autres opérations tant qu'il le servira. Un autre risqueKEYS
est qu'il peut consommer (en fonction de la taille de votre espace de clés) beaucoup de RAM pour préparer le tampon de réponse, ce qui peut donc épuiser la mémoire de votre serveur.La version 2.8 de Redis avait introduit le SCAN famille de commandes qui sont beaucoup plus polies et peuvent être utilisées dans le même but.
L'interface de ligne de commande fournit également un moyen agréable de travailler avec:
la source
Il peut arriver qu'en utilisant redis-cli, vous vous connectiez à votre serveur redis distant, puis la commande:
ne montre rien, ou mieux, cela montre:
(empty list or set)
Si vous êtes absolument sûr que le serveur Redis que vous utilisez est celui dont vous disposez, alors peut-être que votre redis-cli ne se connecte pas à l'instance de base de données correcte de Redis.
Comme cela est mentionné dans les documents Redis, les nouvelles connexions se connectent par défaut à la base de données 0 .
Dans mon cas, la
KEYS
commande ne récupérait pas les résultats car ma base de données était 1. Pour sélectionner la base de données souhaitée, utilisez SELECT .Le db est identifié par un entier.
Je poste cette information car aucune des réponses précédentes n'a résolu mon problème.
la source
-> Obtenez toutes les clés de redis-cli
-> Obtenir la liste des modèles
Cela produira des clés qui commencent par «d» avec trois caractères.
Cela obtiendra les clés avec le caractère 't' correspondant à la clé
-> Compter les clés de la ligne de commande par
-> Ou vous pouvez utiliser
dbsize
la source
key *t*
àkeys *t*
.Jetez un œil à la feuille de triche Redis suivante . Pour obtenir un sous-ensemble de clés redis avec le redis-cli, j'utilise la commande
la source
Oui, vous pouvez obtenir toutes les clés en utilisant ceci
la source
SCAN n'exige pas que le client charge toutes les clés en mémoire comme le fait KEYS. SCAN vous donne un itérateur que vous pouvez utiliser. J'avais un enregistrement 1B dans mon redis et je n'ai jamais pu avoir assez de mémoire pour retourner toutes les clés à la fois.
Voici un extrait de python pour obtenir toutes les clés du magasin correspondant à un modèle et les supprimer:
la source
où * est le modèle pour lister toutes les clés
la source
redis-cli -h <host> -p <port> keys '*'
Motif KEYS
Renvoie toutes les clés correspondant au modèle.
Avertissement: il n'est pas recommandé d'utiliser cette commande car elle peut nuire aux performances lorsqu'elle est exécutée sur de grandes bases de données au lieu de KEYS, vous pouvez utiliser SCAN ou SETS .
Exemple de commande KEYS à utiliser:
la source
Si votre redis est un cluster, vous pouvez utiliser ce script
la source
Obtenez toutes les clés dans Redis
Obtenez toutes les clés à l'aide de l'option --scan:
Liste toutes les clés à l'aide de la commande KEYS:
la source
Afin d'obtenir toutes les clés disponibles sur le serveur redis, vous devez ouvrir redis-cli et taper:
KEYS *
Pour obtenir plus d'aide, veuillez visiter cette page: Ce lienla source
Nous devrions utiliser --scan --pattern avec redis 2.8 et versions ultérieures.
Vous pouvez essayer d'utiliser ce wrapper sur redis-cli. https://github.com/VijayantSoni/redis-helper
la source
Si vous utilisez Laravel Framework, vous pouvez simplement utiliser ceci:
En Core PHP:
la source
Vous pouvez simplement vous connecter à votre serveur redis en utilisant redis-cli, sélectionner votre base de données et taper KEYS *, n'oubliez pas que cela vous donnera toutes les clés présentes dans la base de données redis sélectionnée.
la source