私は構築しているフォーラムで遊んでいますし、しばらくの間、未読の投稿や通知を追跡する方法データベース。いくつかの解決策を見た後、私のニーズに合った解決策を思いついたと思いますが、私が考えなかったことを指摘するために新鮮な目が必要です。ここに私の考えのアーキテクチャがあります。未読の投稿と通知を保存するためのPHPのアイデア
1)ユーザーがログインしたときに、現在のtime()
と最後のログインtime()
の間で投稿を確認します。
2)投稿が見つかった場合は、配列に追加し、serialize()
配列を追加し、データベースのメンバー行に保存します。
3)空でない場合は、配列をユーザーに出力します。
この方法では、非アクティブなユーザーの未読IDを保持する不必要な領域を占有するのではなく、実際にフォーラムにログインしているユーザーに未読の投稿とストアをチェックするだけです。ユーザーが投稿を読んでいない場合、データベースのシリアライゼーションが管理するには大きすぎる可能性があるので、これはあまり良い考えではないかと私はまだ疑問に思っています。
私の考え方に問題がある人はいますか?もしそうなら、私に知らせてください。
search.phpのPHPBBのnewpostsセクションを参照することをお勧めします。 – hjpotter92
SMFストアはトピックを読み取りました。はい、各ユーザーは、各トピックを読んでいます。あなたが言うように、すべての "未読"アイテムを保存しないようにするには、 "読む"アイテムを保存することです。 –