我有一个哈希表,它的键看起来像这样
geo:a
hashKey 看起来像这样
NAME:USERS_IP
我想知道是否有办法获取 NAME 的所有值,其中 USERS_IP 是通配符 *。该表将有数百万条记录,因此我不想获取所有内容然后必须使用 php 对其进行解析。
最佳答案
是的,HSCAN是你的 friend ,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"
关于Redis 从匹配键和通配符 hashKey 的哈希中获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118045/