我有一个哈希表,其键的模式为USER_TEL,如:
bob_123456 : Some address
mary_567894 : other address
john_123456 : third address
现在,我想获得在密钥中具有相同TEL的所有用途的地址。
我想出的是:
tel = 123456
r.hmget('address_book', '*_%s' % tel)
我得到[None]
而不是值。
答案 0 :(得分:4)
您应该使用HSCAN命令。
例如:
redis> HMSET address_book bob_123456 Address1 mary_567894 Address2 john_123456 Address3
OK
redis> HSCAN address_book 0 match *_123456
1) "0"
2) 1) "bob_123456"
2) "Address1"
3) "john_123456"
4) "Address3"
Python实现:
r = Redis(....) #redis url
for address in r.hscan_iter('address_book', match='*_123456'):
print(address)