目前我有一些数据存储在 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
的情况下执行此操作> 图案?还是我应该重新考虑如何存储数据?
最佳答案
您可以使用 SCAN命令与匹配模式来实现这一点。它以增量迭代的方式迭代键空间,并且不会长时间阻塞Redis。
但是,这个命令也有一些缺点。例如,给定的 key 可能会返回多次,您应该在客户端代码中注意它。参见 the documentation了解更多详情。
关于python - 遍历 Redis 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228399/