我需要用redis管理下面的数据。

Strat_range|End_range|circle|operator|operator_id|circle_id

918005000000|918005099999|UP EAST|BSNL|4|22
919967200000|919967299999|MAHARASHTRA|AIRTEL|15|20

我有一个用于操作员检测的api。我通过api获得了手机号码&上面的检查号码序列号&哪个序列在配置和返回行匹配。
例如。
手机号码:919967288367
这个数字在第二个系列中是匹配的。所以我们回到外面的地方。
919967200000|919967299999|MAHARASHTRA|AIRTEL|15|20

我们需要这场比赛的直接价值。因为我们不使用循环作为性能基础。
我有10000个系列。
请帮忙。

最佳答案

最简单的方法是使用排序集,其中成员是您的行,其分数是范围的开始。
例如。:

ZADD ops 918005000000 "918005099999|UP EAST|BSNL|4|22" 919967200000 "919967299999|MAHARASHTRA|AIRTEL|15|20"

查询数字:
ZREVRANGEBYSCORE ops 919967288367 -inf LIMIT 0 1

10-07 17:04