Codeigniter を使用して作成された非常に AJAX 風のリスト Web ページがあり、登録ユーザーが以前に表示したリストを区別できるようにしたいと考えています。
現在の試行:リストをクリックすると、リスト ID が$.post()
サーバーサイド PHP に送信され、自動インクリメントでテーブルに,を(使用してINSERT... ON DUPLICATE KEY UPDATE
)挿入します。訪問者が新しい検索を行うたびに、すべての がを介して MySQL テーブルから取得され、ループを介して、以前に表示されたリストの CSS が変更されます。listing_id
user_id
view_timestamp
viewed_id
listing_id
user_id
.getJSON()
私の懸念は、この方法がサーバー上であまりにも多くの作業を伴うかどうかです。
- ビューをシリアル化すると、各ユーザーの行が 1 行だけ改善
listing_id
されますか? - 代わりに Cookie (Codeigniter によってデータベースに自動的に保存されますか?) を使用する必要がありますか?
- ユーザーが表示したときに、AJAX 経由で表示された新しいリストを挿入します。ただし、表示されたすべてのリスティング ID を含む Cookie が存在しない場合は、表示されたリスティングの ID のリストを 1 回だけ取得します。そうでない場合、新しく表示されたリスティングをサーバーに送信して挿入した後、リスティング ID も Cookie に挿入されます。このようにして、新しい検索を行った後、表示されたリスティング ID のリスト全体をデータベースに継続的に照会する必要はありません。
注: 以前に表示したリストの listing_id に対する AJAX リクエストの推定数については、平均的なユーザーは 20 秒ごとに新しい検索を行います。