Qu'est-ce que Redis Scan?
Comme mentionné, le scan dans Redis est un itérateur basé sur le curseur qui vous permet d'itérer sur l'ensemble des clés dans une base de données Redis spécifique. La commande accepte la position du curseur comme l'argument.
Le serveur renvoie un curseur de mise à jour chaque fois que la commande est appelée. L'utilisation du curseur mis à jour comme argument dans l'appel de commande suivant peut être utilisé.
L'itération commence lorsque le curseur est en position 0 et s'arrête lorsque le curseur provenant du serveur est à 0.
Utilisation de scan - Exemples
Prenons quelques exemples pour illustrer le fonctionnement de la commande de scan. Commencez par créer une collection de clés et de valeurs comme indiqué dans la commande ci-dessous:
127.0.0.1: 6379> MSET KEY1 Valeur1 Key2 Valeur2 Key3 Value3 Key4 Valeur4 Key5 Valeur 5 Key6 Valeur6
D'ACCORD
L'exemple ci-dessus insérer un ensemble de paires de clés et de valeur factice à des fins d'illustration.
Maintenant que nous avons une base de données avec des clés et des valeurs, nous pouvons utiliser la commande SCAN pour itérer les clés.
La commande peut être exécutée comme:
127.0.0.1: 6379> scan 0
dix"
2) 1) "Key4"
2) "RQ: fini: par défaut"
3) "Key5"
4) "Key6"
5) "Key2"
6) "Key3"
7) "RQ: files d'attente"
8) "Key1"
9) "capitaines"
Une fois que nous exécuterons la commande, il iratera sur les clés de la base de données et renverra toutes les clés disponibles.
Remarque: la commande de numérisation ne renverra que les dix premières clés de la base de données. Étant donné que la commande de scan peut récupérer les dix premiers éléments de notre exemple, il renvoie une valeur entière de 0, comme indiqué ci-dessus.
Prenons un exemple où le curseur retourné du serveur n'est pas 0. Si nous ajoutons les touches comme indiqué dans la commande ci-dessous:
MSET KEY7 Valeur7 Key8 Valeur8 Key9 Valeur9 Key10 Valeur10 Key11 Valeur11 Key12 Value12
Si nous reloyons la commande de scan, il renverra la dernière position où le curseur s'est arrêté.
127.0.0.1: 6379> scan 0
1) "13"
2) 1) "Key4"
2) "Key9"
3) "RQ: fini: par défaut"
4) "Key5"
5) "Key6"
6) "Key8"
7) "Key2"
8) "Key3"
9) "Key10"
10) "Key7"
11) "RQ: files d'attente"
Dans cet exemple, la position du curseur est à 13. Nous pouvons utiliser cette position pour scanner les clés restantes.
127.0.0.1: 6379> Scan 13
dix"
2) 1) "key11"
2) "Key1"
3) "Key12"
4) "capitaines"
Puisque la commande récupère toutes les clés, dans ce cas, elle renvoie le curseur en position 0.
Options de numérisation
La commande SCAN accepte deux options principales:
Comptage de balayage
La commande Count vous permet de modifier le nombre de clés que la commande de numérisation va récupérer par appel. Par défaut, la commande scan récupère dix clés.
Cependant, nous pouvons modifier cela en définissant la commande Count.
127.0.0.1: 6379> Scan 0 Count 15
L'exemple de sortie de la commande ci-dessus est comme indiqué:
dix"
2) 1) "Key4"
2) "Key9"
… Tronqué…
14) "Key12"
15) "capitaines"
Dans cet exemple, nous définissons le curseur pour retourner 15 éléments au lieu de la valeur par défaut 10. Puisqu'il n'y a pas plus de 15 clés dans la base de données, le serveur renvoie la position clé à 0.
Correspondance de numérisation
L'option Match vous permet de rechercher des clés qui correspondent à un modèle spécifique. Par exemple, pour retourner toutes les clés correspondant à K *, nous pouvons faire.
127.0.0.1: 6379> Scan 0 Match K *
1) "13"
2) 1) "Key4"
2) "Key9"
3) "Key5"
4) "Key6"
5) "Key8"
6) "Key2"
7) "Key3"
8) "Key10"
9) "Key7"
La commande ci-dessus renvoie uniquement les touches correspondant au modèle spécifié.
Vous pouvez utiliser les options de correspondance et de comptage dans la même commande.
127.0.0.1: 6379> Scan 0 Match K * Count 15
dix"
2) 1) "Key4"
2) "Key9"
---TRONQUÉ---
11) "Key1"
12) "Key12"
Conclusion
Ce guide vous donne l'utilisation des bases et des exemples d'utilisation de la commande redis scan. Le scan vous permet de parcourir les clés de la base de données à l'aide d'une position de curseur. Vous pouvez vérifier la documentation pour plus de variations de numérisation.