1. KEYS pattern
查找所有符合给定模式pattern(正则表达式)的 key 。
时间复杂度:
O(N), N 为数据库中 key 的数量。
警告: KEYS 的速度非常快,Redis在一个有1百万个key的数据库里面执行一次查询需要的时间是40毫秒 。但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 KEYS, 你最好还是用 Redis 的集合结构 SETS 来代替。
返回值:
符合给定模式的 key 列表。
glob-style patterns
pattern
支持glob
风格通配符格式,具体规则如下面所示:
符号 | 说明 | 案例 | 匹配字符 | 不匹配字符串 |
---|---|---|---|---|
? | 匹配一个字符 | h?llo |
hello hallo |
hllo habllo |
* | 匹配0个或任意个字符 | h*llo |
hello hllo habcllo |
aello heabo |
[abc] | 匹配中括号中的任意一个字符 | h[abc]llo |
hallo hbllo hcllo |
hAllo hello |
[a-e] | 匹配中括号中的字符范围内的一个字符 | h[a-e]llo |
hello hallo |
hfllo |
e | 匹配一个除了括号中的字符之外的字符 | h[^e]llo |
hallo hbllo |
hello |
参考: glob-style WIKI
Examples
redis.dev.7mxing.com:6379[10]> mset one 1 two 2 three 3
OK
redis.dev.7mxing.com:6379[10]> KEYS *
1) "three"
2) "two"
3) "one"
redis.dev.7mxing.com:6379[10]> KEYS *o*
1) "two"
2) "one"
redis.dev.7mxing.com:6379[10]> KEYS t??
1) "two"
redis.dev.7mxing.com:6379[10]> KEYS t*
1) "three"
2) "two"