我想使用 redis 有效地搜索 IPv6 子网范围。
我想将 IPv6 数字地址存储在 redis 中并按范围搜索它们。这些是128 位 ints,例如:
import ipaddress
int(ipaddress.ip_address(u'113f:a:2:3:4:1::77'))
> 22923991422715307029586104612626104439L
并按范围查询:
ZRANGEBYSCORE numerics <subnet-S-start> <subnet-S-end>
但是,redis sorted-sets 可以保持高达 2^53 的分数,所以我所有的大整数都被修剪了,我正在失去精度。
有没有办法在redis中保存这么大的数字而不会丢失精度?
你有更好的建议吗?谢谢