【问题标题】:Iterating Through Redis Keys遍历 Redis 键
【发布时间】:2017-03-06 19:40:43
【问题描述】:

目前我有一些数据存储在 Redis 中,如下所示

'key:A:1' : 'some_data'
'key:A:2' : 'some_data'
'key:A:3' : 'some_data'
'key:A:4' : 'some_data'
'key:A:5' : 'some_data'
'key:A:6' : 'some_data'

'key:B:7' : 'some_data'
'key:B:8' : 'some_data'
'key:B:9' : 'some_data'
'key:B:10' : 'some_data'
'key:B:11' : 'some_data'
'key:B:12' : 'some_data'

'key:ABC:15' : 'some_data'
'key:ABC:16' : 'some_data'
'key:ABC:17' : 'some_data'
'key:ABC:18' : 'some_data'
'key:ABC:19' : 'some_data'
'key:ABC:20' : 'some_data'

...

...大量与上述格式匹配的其他数据

在 Python 中,我想遍历上述格式的所有键 (key:*:*) 并提取值。所以基本上我想首先遍历格式键:A:*的所有键,然后是格式键:B:*等的所有键。有没有办法在不使用KEYS模式的情况下做到这一点?还是我应该重新考虑如何存储数据?

【问题讨论】:

    标签: python json loops redis


    【解决方案1】:

    您可以使用带有匹配模式的SCAN 命令来实现此目的。它以增量迭代的方式迭代key空间,不会长时间阻塞Redis。

    但是,这个命令也有一些缺点。例如,给定的密钥可能会被多次返回,您应该在客户端代码中注意它。详情请见the documentation

    【讨论】:

      猜你喜欢
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多