2012-01-29 72 views
1

讓我們通過場景開始:如何唯一指望每個特定頁面訪問

應用程序有一個產品部分與+100的產品和「訪問人數」,需要每一個產品的詳細信息頁面,顯示現場此產品的訪問次數。

您需要防止這次訪問次數+1,每次一定訪客做一個刷新頁面上,
但你想允許用戶訪問到第二天訪問計數。

所以,如果你選擇的cookie的方法,你需要每每個產品1塊餅乾單個訪問者。由於使用帶有子密鑰的單個Cookie,因爲整個cookie將在給定時間到期,因此無法確定哪個子密鑰(產品)應該過期。

此外,由於產品太多,對於想要瀏覽所有產品的好奇訪問者而言,幾乎是無稽之談(並且不允許)擁有+100 Cookie(或帶有100個子關鍵字的單個Cookie)。

您的建議是?

回答

1

您只需要一個cookie即可唯一標識用戶。

然後,您可以在用戶看着該產品的產品頁面日誌的頁面加載。

然後你擁有所有的訪問列表,從這個列表中可以選擇每個用戶的獨特的日訪問量。

+0

你的意思是1個cookie和幾個子密鑰?如果訪問者想要一天訪問+50個產品會怎麼樣? Cookie的文件大小有限制。 – mohamadreza 2012-01-29 12:11:51

+0

只有一個關鍵與用戶標識,所有其他信息存儲在服務器上的日誌。 – 2012-01-29 12:19:38

+0

是的,服務器端日誌記錄系統是我們的最後選擇,因爲有時資源會變得很昂貴。如果我們無法在客戶端找到解決方案,我們將開啓此方法。 – mohamadreza 2012-01-29 12:25:42

0

我覺得兩種可能的解決方案,或者通過一組Cookie或記錄的IP地址,最後一個將隨着時間而改變,所以你只需要使用第一個選項,以及有關的cookie時ü可以設置它很長一段時間,這使它很難過期。

+0

訪問者的相同頁面視圖將計入第二天。很長一段時間,他並不是每一頁都獨一無二的。 – mohamadreza 2012-01-29 12:12:30

0

爲什麼不使用數據庫?您可以創建一個表來存儲這樣的列表:

  • 在每次訪問的product_id
  • USER_ID
  • 日期

然後,您可以檢查當前的用戶訪問過的電流今天的產品。如果是這樣,什麼都不要做如果不是,請添加一條記錄。

然後你就可以有一個處理這個列表中的每個10分鐘,相應地更新視場週期性任務。

相關問題