2012-04-02 48 views
0

运行一个查询来获得前10名搜索关键字列表到我的数据库服务器将会很烦人。PHP,热门搜索关键字排名系统

所以,我想构建一个代码,生成顶部列表作为HTML文件。

服务器每10分钟自动生成一个HTML文件。

因此,服务器不会费心去运行来自所有访问者的查询。

你能给我一个想法如何开始建立这个代码?

+0

你桌上有多少信息?排名前10位并不是那种为其制作缓存系统的硬性查询 – safarov 2012-04-02 11:28:05

回答

2

第一个问题是,您认为您会有多少次针对前10个搜索关键字使用db query-s?您始终可以创建前10个关键字的视图或优化单独的表格。我认为这是比实现问题更多的架构问题。

如果非上述情况是可以接受的,您可以在单独的文件中创建一些结构(您更喜欢HTML,但我宁愿使用XML,但这是我的观点)。我不会为此使用CronJob,因为您可以使用PHP + SQL轻松快捷地完成这项工作,而且,如果您没有专门的托管服务,您的托管服务提供商很可能会遇到问题。

2

为什么不创建一个TOP 10表,它也有时间戳,最简单的方法就是把它放在每一列上。那么如果这个日期太旧,那么你需要更新前10名表格。

另一方面,如果每次都难以查询,您有多少个关键字?也许你需要重新考虑数据库结构?

1

你需要的是一个CronJob。 CronJob是一个以设定的时间间隔在服务器上运行的进程。您可以设置一个CronJob,每10分钟运行一次。您可以指定一个PHP脚本作为此目标,并且在此脚本中,您可以运行查询并将html页面写入磁盘。

您需要联系您的托管服务提供商为您设置。只要告诉他们在什么时间间隔运行脚本。也许他们在后端有这方面的工具,你可以自己设置。