2012-01-12 56 views
0

我正在嘗試記錄頁面訪問次數和訪客人數。更新兩次日誌訪問和每日總結

我有兩個表,一個是原始日誌所有遊客的,第二個表將是第一臺的總結只能按日期的頁面訪問量。由於第一個和第一個表生成的第二個表已被清除,我正在考慮讓它由用戶自己在頁面上加載處理。但多個用戶最終會多次觸發它。

有沒有一種方法,使其只能使用一次,在任何一個時間對象鎖定觸發。我不確定自己有意義,或者甚至有這樣的事情。因爲我將在第三方託管網絡應用程序,無法訪問創建cron或某種類型。或者有更好的辦法嗎?

+0

也許你可以使用一個表,並在你的日誌查看器實時計算的結果? – TimWolla 2012-01-12 12:07:14

+0

通過使用'SET count = count + 1'類更新來更新彙總表怎麼樣?如果你沒有cron,其他的東西看起來都很貴。 – hakre 2012-01-12 12:10:30

回答

0

我建議使用http://www.webalizer.org/http://awstats.sourceforge.net/進行統計。 如果你仍然想自己做,不要計算每個請求的統計數據,你可以只記錄時間戳,IP和PHPSESSID(這很重要)。

然後指定的計劃任務,每天一次,當服務器負載是最小的(比如03:00)和總使用組by.PHPSESSID是很重要的,因爲這將是關鍵,以記錄,而不是請求「會話」。

+0

我需要在應用程序中爲用戶提供自定義圖形,而不需要其他安裝。我目前正在記錄用戶代理。保留是否是多餘的? – 2012-01-12 13:30:18

+0

這取決於您要報告哪些數據。如果您的統計數據不包含用戶代理,則沒有理由記錄它們。但是,您應該將會話ID記錄爲密鑰,然後可以執行諸如select count(1)作爲來自access_table組的visit_count by session_id,其中visit_date位於start_date和end_date之間。 – rkosegi 2012-01-12 13:33:55

+0

明白了。感謝一堆,rkosegi! :) – 2012-01-12 13:37:21

0

你可以使用外部服務調用腳本來完成這項工作。例如, http://www.onlinecronjobs.com/爲例,但有很多這樣的(免費)服務可用。
但我也推薦使用一些高級統計工具作爲推薦的rkosegi。

+0

這看起來像我在找什麼。現在看看它。謝謝! – 2012-01-12 13:30:33