beschikbaar sinds 1.0.0.
tijdscomplexiteit: O (N) waarbij N het aantal sleutels in de database is, in de veronderstelling dat de sleutelnamen in de database en het gegeven patroon een beperkte lengte hebben.
geeft alle sleutels terug die overeenkomen met pattern
.
hoewel de tijdscomplexiteit voor deze operatie O(N) is, zijn de constante tijden vrij laag. Bijvoorbeeld, Redis draait op een instaplaptop kan een 1 miljoen sleuteldatabase scannen in 40 milliseconden.
waarschuwing: beschouw KEYS als een commando dat alleen gebruikt mag worden in productieomgevingen met uiterste zorg. Het kan de prestaties ruïneren wanneer het wordt uitgevoerd tegen grote databases. Dit commando is bedoeld voor het debuggen en speciale operaties, zoals het wijzigen van uw keyspace lay-out. Gebruik geen sleutels in uw gewone applicatie code. Als u op zoek bent naar een manier om sleutels te vinden in een subset van uw sleutelruimte, overweeg dan om SCAN of sets te gebruiken.
ondersteunde glob-stijlpatronen:
-
h?llo
matcheshello
hallo
andhxllo
-
h*llo
matcheshllo
andheeeello
-
hllo
matcheshello
andhallo,
but nothillo
-
hllo
matcheshallo
hbllo
, … but nothello
-
hllo
matcheshallo
andhbllo
Use \
to escape special characters if you want to match them verbatim.
*Return value
Array reply: list of keys matching pattern
.
*Examples
"OK"
redis> KEYS *name*
1) "firstname" 2) "lastname"
redis> KEYS a??
1) "age"
redis> KEYS *
1) "firstname" 2) "age" 3) "lastname"