sql >> Database >  >> NoSQL >> Redis

Hoe de HSCAN-opdracht in Redis te gebruiken?

Opdrachten

Start een volledige hash-scan met:

HSCAN myhash 0

Start een hash-scan met velden die overeenkomen met een patroon met:

HSCAN myhash 0 MATCH order_*

Start een hash-scan met velden die overeenkomen met een patroon en dwing de scanopdracht om meer te scannen met:

HSCAN myhash 0 MATCH order_* COUNT 1000

Opmerking

Vergeet niet dat MATCH kan weinig tot geen element teruggeven voor elke iteratie, zoals uitgelegd in de documentatie:

Het is belangrijk op te merken dat het MATCH-filter wordt toegepast nadat elementen uit de verzameling zijn opgehaald, net voordat gegevens naar de client worden geretourneerd. Dit betekent dat als het patroon overeenkomt met heel weinig elementen in de collectie, SCAN waarschijnlijk geen elementen teruggeeft in de meeste iteraties.

En daarom kun je COUNT . gebruiken om meer scannen voor elke iteratie te forceren.

[Bijwerken] Zoals Didier Spezia heeft aangegeven, hebt u Redis 2.8+ nodig om de *SCAN-opdrachten te gebruiken.



  1. Django - Hoe asynchrone takenwachtrij te gebruiken met selderij en redis

  2. Is er een manier om een ​​specifieke sleutel te lokaliseren op een specifieke redis-instantie in clustermodus?

  3. Tot welk niveau vergrendelt MongoDB schrijven? (of:wat wordt bedoeld met per aansluiting)

  4. $eerst in mongodb