Web ページの訪問数をカウントしたいのですが、このページは、スタック オーバーフローの質問ページ ビューと同様に、モデルの要素を表しています。
信頼性が高く(1回の訪問、1回のページビュー、繰り返しなし)、堅牢(新しいテーブル属性「visits_count」だけでなく、パフォーマンスを考慮)でこれを行う方法
Web ページの訪問数をカウントしたいのですが、このページは、スタック オーバーフローの質問ページ ビューと同様に、モデルの要素を表しています。
信頼性が高く(1回の訪問、1回のページビュー、繰り返しなし)、堅牢(新しいテーブル属性「visits_count」だけでなく、パフォーマンスを考慮)でこれを行う方法
できません。
最も近い方法は、訪問者の IP を Cookie と組み合わせて保存し、将来それらをカウントしないようにすることです。Cookie をクリアすると、新しい訪問者になります。IP のみを保存する場合は、プロキシ全体を 1 人の訪問者としてカウントします。
もう 1 つのオプションは、ユーザー アカウントを使用して、どのユーザーがどのページを閲覧したかを正確に追跡することですが、これは公開サイトにはあまり適したオプションではありません。
実際には、Google アナリティクスを使用することをお勧めします。真に正確なものはありませんが、彼らはそれを非常にうまく突き刺しており、抽出できるレポートと有用な情報のレベルは驚くべきものです.
言うまでもなく、月間 4,000,000 ページ ビューまでは無料です。
パフォーマンスの問題を処理する 1 つの方法は、挿入時に計算を行うことです。何かのようなもの
UPDATE stat SET viewcount = viewcount+1 WHERE date = CURDATE()
これは完璧な解決策ではありませんが、何らかの方法で解決できる可能性があります。
繰り返しなしでそれを行うことは、潜在的に難しい問題です。セッションまたは Cookie の使用に頼るだけですが、クローラーをフィルタリングするためのあらゆる種類の戦略、Cookie をサポートしないクライアントなどを考え出すことができます。