Redis从哈希中获取与密钥和通配符hashKey匹配的记录?

时间:2016-01-31 19:04:16

标签: redis hashtable

我有一个哈希表,其密钥看起来像是

geo:a

hashKey看起来像这样

NAME:USERS_IP

我想知道是否有办法获取NAME的所有值,其中USERS_IP是外卡*。该表将有数百万条记录,因此我不想获取所有内容,然后必须用php解析它。

1 个答案:

答案 0 :(得分:1)

是的,HSCAN是您的朋友,MATCH选项设置为NAME:*。例如:

127.0.0.1:6379> HSET 'geo:a' 'alice jones:10.123.8.9' 'some_val'
(integer) 1
127.0.0.1:6379> HSET 'geo:a' 'bill jones:192.123.8.9' 'some_val'
(integer) 1
127.0.0.1:6379> HSET 'geo:a' 'bill jones:192.89.89.89' 'some_val'
(integer) 1
127.0.0.1:6379> HSCAN 'geo:a'  0 match "bill jones:*"
1) "0"
2) 1) "bill jones:192.123.8.9"
   2) "some_val"
   3) "bill jones:192.89.89.89"
   4) "some_val"