2012-01-29 14 views
1

はのシナリオから始めましょう:一意に特定のページの訪問をカウントする方法

アプリケーションは、100の製品として 製品セクションフィールドがどの番組のすべての製品の詳細ページに必要とされている「訪問回数」が

この商品の訪問数あなたがに必要

は、この訪問は、1に特定の訪問者がページの更新を行うたびにカウント
いますが、そのユーザーの訪問が次の日の訪問でカウントできるようにしたいと思います
を防ぎます。

クッキーアプローチを選択した場合、1人の訪問ユーザーに対して1つの製品につき1つのCookieが必要です。サブキーで単一のクッキーを使用すると、特定の時間にクッキー全体が期限切れになるため、サブキー(製品)の有効期限を切ることはできません。

また、商品が多すぎるので、すべての商品を閲覧したいと思う好奇心の高い訪問者には、+100クッキー(または100個のサブキーを持つ単一のクッキー)がほとんどナンセンス(許可されていない)です。

あなたの提案は何ですか?

答えて

1

ユーザーを一意に識別するために必要なクッキーは1つのみです。

これで、どのユーザーがどの製品を見たかを製品ページのログに記録することができます。

次に、すべての訪問のリストが表示されます。このリストから、各ユーザーの一意の1日の訪問数を選択できます。

+0

あなたは1つのCookieといくつかのサブキーを意味しますか?訪問者が1日に+50の製品を訪問したい場合はどうなりますか? Cookieのファイルサイズには制限があります。 – mohamadreza

+0

ユーザーIDを持つキーが1つだけあり、他のすべての情報はサーバーのログに保存されています。 –

+0

ええ、サーバーサイドロギングシステムは、時にはリソースが高価になるため、私たちの最後の選択です。クライアント側で解決策が見つからない場合は、このアプローチを有効にします。 – mohamadreza

0

私は考えられる2つの解決策は、設定したクッキーまたは記録IPアドレスのいずれかで、最後のものが時々変更されるため、最初のオプションしか使用できないため、それは、それが期限切れになるのに長い時間のために。

+0

訪問者の同じページビューは翌日にカウントされます。彼は長い間、各ページごとにユニークではありません。 – mohamadreza

0

なぜデータベースを使用しないのですか?あなたはこの種のリストを格納するテーブルを作成することができます。

  • をPRODUCT_ID、現在のユーザが現在を訪問した場合、各訪問では、あなたがチェックすることができ、日付

  • をUSER_ID今日の製品。もしそうなら、何もしないでください。そうでない場合は、レコードを1つ追加します。

    次に、このリストを10分ごとに処理し、それに応じてビューフィールドを更新する定期的なタスクを作成できます。

  • 関連する問題