我正在使用python访问redis中的数据。我想根据模式访问密钥,但我不想要所有密钥,我只想对输出设置限制,就像mysql限制功能一样。显然,我可以根据模式获取所有键,然后只切片我的列表,但问题是我不想获取那么多数据,我只想获取一个样本,因为有数百万个键,对于那种模式。有没有办法做到这一点?我相信人们会面临这个问题。他们是怎么做到的?
答案 0 :(得分:1)
您可以尝试SCAN
命令以及MATCH
和COUNT
选项。但请注意COUNT
只是实施的暗示,不能保证。
例如:
127.0.0.1:6379> scan 0 match key-* count 5
1) "49152"
2) 1) "key-30266"
2) "key-45938"
3) "key-59166"
4) "key-46033"
5) "key-24326"
选择SCAN
SSCAN
ZSCAN
HSCAN
,取决于您的密钥类型。
请仔细阅读SCAN Reference。希望它有所帮助。
答案 1 :(得分:0)
您可以使用SCAN命令,也可以使用LIMIT
选项。