summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/keys.md
diff options
context:
space:
mode:
Diffstat (limited to 'iredis/data/commands/keys.md')
-rw-r--r--iredis/data/commands/keys.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/iredis/data/commands/keys.md b/iredis/data/commands/keys.md
new file mode 100644
index 0000000..8991beb
--- /dev/null
+++ b/iredis/data/commands/keys.md
@@ -0,0 +1,37 @@
+Returns all keys matching `pattern`.
+
+While the time complexity for this operation is O(N), the constant times are
+fairly low. For example, Redis running on an entry level laptop can scan a 1
+million key database in 40 milliseconds.
+
+**Warning**: consider `KEYS` as a command that should only be used in production
+environments with extreme care. It may ruin performance when it is executed
+against large databases. This command is intended for debugging and special
+operations, such as changing your keyspace layout. Don't use `KEYS` in your
+regular application code. If you're looking for a way to find keys in a subset
+of your keyspace, consider using `SCAN` or [sets][tdts].
+
+[tdts]: /topics/data-types#sets
+
+Supported glob-style patterns:
+
+- `h?llo` matches `hello`, `hallo` and `hxllo`
+- `h*llo` matches `hllo` and `heeeello`
+- `h[ae]llo` matches `hello` and `hallo,` but not `hillo`
+- `h[^e]llo` matches `hallo`, `hbllo`, ... but not `hello`
+- `h[a-b]llo` matches `hallo` and `hbllo`
+
+Use `\` to escape special characters if you want to match them verbatim.
+
+@return
+
+@array-reply: list of keys matching `pattern`.
+
+@examples
+
+```cli
+MSET firstname Jack lastname Stuntman age 35
+KEYS *name*
+KEYS a??
+KEYS *
+```