我用分号保存了数据.
redis> keys party:*
1) "party:congress:president"
2) "party:bjp:president"
3) "party:bjp"
4) "party:sena"
Run Code Online (Sandbox Code Playgroud)
是否有任何命令列出所有各方?在上面的例子中,我期待
congress
bjp
sena
Run Code Online (Sandbox Code Playgroud)
Did*_*zia 24
不,没有命令这样做.但如果你真的需要在客户端实现它将是微不足道的.
应用程序永远不应使用KEYS命令来检索数据.KEYS会阻塞整个Redis实例,同时线性扫描您存储的数百万个密钥.它更像是一个应该在管理工具中使用的调试命令.
使用Redis,没有btree结构来索引键,所以你不能查询键,除非你的键存储在现有的集合中(set,zset等...)
小智 7
您可以使用redis中的SCAN命令搜索键而不阻塞整个数据库.
此命令有一个可选的MATCH过滤器,其工作方式与KEYS命令上的过滤器非常相似.
redis> SCAN 0 MATCH party:*
1) <the cursor>
2) 1) "party:congress:president"
2) "party:bjp:president"
3) "party:bjp"
4) "party:sena"
Run Code Online (Sandbox Code Playgroud)
继续调用,直到光标返回到0以获取所有参与方(如果在扫描时插入它们可能不会获得所有参与方)
自2.8以来可用
您可以使用KEYS
和*
通配符。
SET user:1 Amir
SET user:2 Jack
Run Code Online (Sandbox Code Playgroud)
要使所有用户都使用通配符:
KEYS user:*
Run Code Online (Sandbox Code Playgroud)
结果将是:
1) "user:1"
2) "user:2"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28961 次 |
最近记录: |