2012-04-02 351 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頁面寫入磁盤。

您需要聯繫您的託管服務提供商爲您設置。只要告訴他們在什麼時間間隔運行腳本。也許他們在後端有這方面的工具,你可以自己設置。