扫码一下
查看教程更方便
Redis Keys 命令用于查找所有符合给定模式 pattern 的 key 。
redis KEYS 命令基本语法如下:
redis 127.0.0.1:6379> KEYS PATTERN
>= 1.0.0
符合给定模式的 key 列表 (数组——Array)。
首先创建一些 key,并赋上对应值:
redis 127.0.0.1:6379> SET jiyik1 redis
OK
redis 127.0.0.1:6379> SET jiyik2 mysql
OK
redis 127.0.0.1:6379> SET jiyik3 mongodb
OK
查找以 jiyik 为开头的 key:
redis 127.0.0.1:6379> KEYS jiyik*
1) "jiyik3"
2) "jiyik1"
3) "jiyik2"
获取 redis 中所有的 key 可用使用 *
。
redis 127.0.0.1:6379> KEYS `*`
1) "jiyik3"
2) "jiyik2"
3) "jiyik1"
生产环境使用 KEYS 命令需要非常小心。在大的数据库上执行命令会影响性能。
这个命令适合用来调试和特殊操作,像改变键空间布局。
不要在代码中使用 KEYS 。如果需要一个寻找键空间中的key子集,考虑使用 SCAN 或 SETS。
h?llo
匹配 hello, hallo 和 hxlloh*llo
匹配 hllo 和 heeeelloh[ae]llo
匹配 hello and hallo, 不匹配 hilloh[^e]llo
匹配 hallo, hbllo, ... 不匹配 helloh[a-b]llo
匹配 hallo 和 hbllo使用 \ 转义你想匹配的特殊字符。
上面的匹配模式用到的是正则表达式,本站提供了正则表达式的详细教程
KEYS命令的时间复杂度为:O(N) 其中N为数据库中key的个数,这里有一个假定的前提是key的长度是有限的。