トップ記事システムを書きたいです。
一部のコンテンツ (記事など) をビュー数でフィルター処理したいと考えています。
views=views+1
ユーザーがそのリンクを表示するたびにデータベースに挿入すると、時間がかかり、悪い習慣だと思います。
これを行う別のサイトの例は YouTube です。このテーブルは一定の間隔でのみ更新されるため、ビューはライブで更新されません。これはこれを行う良い習慣ですか?
トップ記事システムを書きたいです。
一部のコンテンツ (記事など) をビュー数でフィルター処理したいと考えています。
views=views+1
ユーザーがそのリンクを表示するたびにデータベースに挿入すると、時間がかかり、悪い習慣だと思います。
これを行う別のサイトの例は YouTube です。このテーブルは一定の間隔でのみ更新されるため、ビューはライブで更新されません。これはこれを行う良い習慣ですか?
ビューの 2 番目のテーブルを作成します。この 2 番目のテーブルを使用して、「重複した」ビューをフィルタリングすることもできます (Cookie にも支えられているため、重複したビューを削除することは完全な操作ではありません)。
「遅い」ことに関しては、多くのユーザーがいる多くのサイトでそのアプローチを使用してきました。データの保存と集計はデータベースが行うことなので、その力を活用してください。
次に、この 2 番目のテーブルを使用してビューを合計するか、定期的にデータを合計して現在の合計をメイン テーブルに保存し、2 番目のテーブルをクリアしてスペースを抑えることができます。私は通常、すべてのデータを保持しますが、スピードのために意気消沈します。
ログ(単純なテキスト ファイル / xml / Json ………)を作成してビュー カウントを保存し、ファイルを解析して結果を DB に挿入するジョブを実行できます。
このジョブは、時間間隔で実行するか、アイドル状態のプロセッサがないかシステムをチェックできます。
私の意見では、RAM を使用して機密データを保存するのは、このカウント (システムの重要な部分) が安全ではないように思われるからです。