【发布时间】:2015-11-26 04:44:44
【问题描述】:
我记录了用户的IP地址。由于 IP 地址包含句点,因此我将它们存储为字符串。但我想通过尝试将它们保存为整数来节省服务器上的空间。
我考虑过这样做:
@user_ip = request.remote_ip.delete(".").to_i
例如,这会将“127.0.0.1”转换为127001。
但我担心在这种方法下两个不同的 IP 地址可能会保存为同一个整数。
这可能吗?如果是这样,有没有更好的方法将 IP 地址保存为整数?
【问题讨论】:
-
ip4v 地址将适合无符号整数——每个八位字节为一个字节。你必须做一些转换。但这可能并不值得,它不是一种特别友好的查询格式(而且对于 ipv6 根本不起作用)。
-
如果您的服务器有IP address type,可能值得使用。
标签: ruby-on-rails ruby integer ip