今天有人问我 “为什么数据库中有人推荐使用 int 类型来保存 IP 地址?”。现在来看这个东西已经有点过时了,一方面是磁盘空间不在那么贵,另一方面是 IPv6 与这条法则不兼容。第一步 把 IP 地址的各个部分转换为一个字节,并拼接它们,那么会得到一个 4 字节的串。这样我们就把 IPv4 地址转换成了一个整数,完整的代码如下。今天来说 IPv6 已经是主流,它的长度直接从之前的 4 字节直接涨到了 16 字节;int 不再能满足需求,为了可以统一处理这两种类型的 IP 现在推荐使用 varchar 来保存。这一对 IP 是 IPv4 时代的转换函数,目前来看已经过时。这是一对新的 API ,这对 API 兼容了 IPv4 和 IPv6 。
暂无评论