我需要通过62-125范围的前缀来获取所有密钥,并在其后加':'
我尝试运行以下命令没有成功:
res = r.keys('[62-125]:*')
也尝试使用扫描:
iter = r.scan_iter('^(6[2-9]|7[0-9]):*')
res = []
for key in iter:
res.append(key)
这甚至可能吗?如果是,如何?
一些例子,如果不清楚:
应检索的密钥:
62:kk:345345345
72:hg:76576
88:fg:67886
122:hg:8678
124:gg:8678
不应该检索的密钥:
0:df:09765
20:gg:6565
38:hh:345
44:bb:3454
61:bb:6568
我的数据库中的所有键都以数字前缀开头,如果有关系,后跟':'。
有效的解决方案:
RES = []
_res = r.keys('6[2-9]:*')
RES.append(_res)
for i in range(7,10):
_res = r.keys('{}[0-9]:*'.format(i))
RES.append(_res)
for i in range(0,3):
_res = r.keys('1{}[0-9]:*'.format(i))
RES.append(_res)
此方法有效,但我不接受此答案。1.令人恶心,使我自我厌恶2.根本没有效率
如果可能,我会投票反对自己的解决方案。请提出一个更好的建议。