0
我想高效地使用redis搜索IPv6子网范围。redis商店128位数
我想存储在redis中的IPv6数字地址,并按范围搜索它们。 那些128位整数,例如:
import ipaddress
int(ipaddress.ip_address(u'113f:a:2:3:4:1::77'))
> 22923991422715307029586104612626104439L
和查询通过范围:
ZRANGEBYSCORE numerics <subnet-S-start> <subnet-S-end>
无论其,redis的分拣集可以容纳2^53的得分,因此我所有的大额整数都被削减,并且我失去了精确度。
有没有办法在redis中保存如此大的数字而不会丢失精度?
你有更好的建议吗? 谢谢
您可能希望将该数字转换为字节数组并将其保存,而不是 – Guilherme
Redis可能不是该作业的正确工具。作为一个例子,Postgres对IPv4和IPv6数据类型有强大的本地支持。 – tadman
@tadman redis对此非常理想,但像往常一样,使用redis需要一点点工作。 –