You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis NoSQL Scan函数故障:无法获取ticker键但Keys可正常返回

Redis Scan无法找到ticker键但Keys可以的原因排查

以下是几种常见的原因及对应的排查方向:

  • Scan未完成循环迭代
    Scan是分批返回键的,每次调用仅返回部分结果,必须持续调用直到游标返回0才会遍历完所有键。如果只执行了一次Scan,刚好ticker键不在当前返回的分片里,就会出现搜不到的情况。而KEYS是一次性遍历所有键,所以能直接返回结果。

  • 匹配模式不一致
    检查Scan使用的MATCH参数是否和Keys命令的匹配规则一致:

    • 比如Keys用的是KEYS ticker*,但Scan写成了SCAN 0 MATCH ticker(缺少通配符*);
    • Redis键名大小写敏感,若实际键是Ticker,但Scan用了小写的ticker作为匹配模式,也会搜不到。
  • COUNT参数设置过小
    COUNT参数是Redis的提示性参数,用于告知Redis每次返回多少条结果(并非固定值)。如果键的总量很大,而COUNT设得太小,可能需要多次迭代才能扫到ticker键。可以尝试增大COUNT值(比如设为1000)后再执行Scan循环。

  • 数据库(DB)不匹配
    Redis的不同数据库相互隔离,若执行KEYS命令时处于db0,但调用Scan时切换到了其他数据库(比如db1),自然找不到db0里的ticker键。可以用SELECT命令确认并切换到正确的数据库后再执行Scan。

内容的提问来源于stack exchange,提问作者han

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 05:27:05