我在Heroku上部署了一个Rails 4应用程序。
我有一种方法可以将ip
数字解码为等效city
。
据我所知,地理编码时存在很多陷阱,即达到共享IP的请求限制,未更新的地理编码提供程序等。
如果有人最近遇到过与上述类似的用户案例,那么了解哪种设置效果最好(如果有的话)将不胜感激。
您可以轻松完成并且应该绰绰有余的两件关键事情是:
-
使用
geokit
的MultiGeocoder
和ip_provider_order
来定义发生故障时要回退的地理编码器。 -
缓存结果。目前
geokit
中有一个拉取请求,它增加了一个内置的缓存选项,但编写自己的缓存很容易,而且你可以让它更智能。例如,如果一个IP与另一个IP相似,例如前三个部分是相同的,则可能是相同的位置。
更难的选择可能是在您的应用程序中拥有整个 IP 数据库,因此根本不需要发出任何请求。