嗨,
我们希望将我们的用户重定向到与用户城市相对应的网页之一(基于用户 IP 地址并使用一些 IP 位置数据库的位置)
我的问题是,如何让它快速工作?例如在网站 gropoun 中,每当用户访问时,它会立即将用户带到其城市页面。
谢谢。
编辑:我们正在使用 PHP
嗨,
我们希望将我们的用户重定向到与用户城市相对应的网页之一(基于用户 IP 地址并使用一些 IP 位置数据库的位置)
我的问题是,如何让它快速工作?例如在网站 gropoun 中,每当用户访问时,它会立即将用户带到其城市页面。
谢谢。
编辑:我们正在使用 PHP
你想做这个服务器端还是客户端?如果是客户端(即使用 javascript),您可以使用许多 geoip 服务之一。其中一个特别是 Yahoo! 的 YGL
此外,您可以使用几乎所有语言或框架在服务器端进行操作。您可以对第三方 geoip 提供商进行 API 或服务调用,或者您可以将数据加载到您的数据库中并进行自己的查找。
您还需要“默认”为区域或邮政编码,因为无法确定每个 IP 地址。例如,我目前工作的一个 Web 应用程序有 95% 的美国用户,因此我们默认使用该国家的地理中心,即 66952。
您应该从 httpRequest 确定用户 ip,然后使用某种数据库,例如geoip
缓存,缓存,缓存一切。在您的 IP 表中缓存查找,在他们的会话或 cookie 中缓存单个用户的结果,缓存您页面的呈现的本地化信息部分(或至少是查询密集型部分。)
可以提供更多细节,但这完全取决于您的瓶颈是什么。(毕竟,如果瓶颈在于呈现本地化信息,那么在事物的路由方面实现复杂的缓存是没有意义的,因为您的数据库调用需要将近半秒才能运行)。我无法告诉您应用程序的瓶颈在哪里/将会在哪里。您需要先对其进行分析——然后根据分析器告诉您的内容进行优化。
我已经使用查找服务为一些客户端服务器端完成了此操作http://ipinfodb.com/ip_location_api.php.
只要记住在数据库中存储 IP 地址和位置,就不会进行冗余查找。我使用时区数据来确定访问者所在的地区。