【发布时间】:2016-08-23 10:36:50
【问题描述】:
我有一个包含几百万个键的 redis 数据库。有时我需要按模式查询键,例如2016-04-28:* 我使用 scan。第一次调用应该是
scan 0 match 2016-04-28:*
如果搜索完成,它将返回一堆键和下一个光标或 0。
但是,如果我运行查询并且没有匹配的键,scan 仍会返回非零光标,但会返回一组空键。每次连续查询都会发生这种情况,因此搜索似乎不会在很长一段时间内结束。
Redis 文档这么说
SCAN 系列函数不保证每次调用返回的元素数量在给定范围内。 命令也允许返回零元素,只要返回的游标不为零,客户端不应该认为迭代完成。
所以当我得到一组空键时,我不能停下来。
有什么方法可以加快速度吗?
【问题讨论】:
标签: redis