OKソーシャルネットワークがあり、これまでに50,000人近くのユーザーがいて、このサイトの友人を示す友人テーブルがあります。このテーブルは100万行以上あります。非常に大きな配列のuserIDを複数のユーザーのセッション変数に保存できますか?
難しい部分ではありません掲示板、状態の投稿、友だちリストの人にしか見えないようなもの。 テーブルのサイズは約50,000回、友人テーブルは約100万であることを覚えておいてください。
1友人リストを取得してユーザーに表示する投稿のステータスを知る方法は以下のとおりです。
select friendid from friend_friend where userid=1 and status=1
私は、カンマ区切りのリストにこの配列をオンにし、このユーザーが閲覧することが許可されている記事をフェッチmysqlのクエリのIN句でそれを使用する配列に結果を入れ
これまでのところ意味があることを願っています。
このクエリは非常に頻繁に実行されるため、このフレンド配列をセッション変数に保存するとどうなりますか? 私が見る欠点の1つは、ユーザーがログインしている間にそのユーザーを友人として追加すると、そのセッションがリセットされるまで友人として表示されますが、それ以外の場合は、メモリやセッションのパフォーマンスが悪くなりますつかいます?
はまた、時には最大500ユーザーがログインしている注意して、いくつかは万友人IDの友人リストを持っており、これは、それがファイルに保存されているPHP/MySQLのセットアップ
セッションデータについてのもう一つの問題であり、システムメモリが正しくありませんか?それがメモリではなくディスク上にある場合、メモリは大きな問題ではありませんか?
をそれをチェックアウトしますおかげで実はそれは素晴らしいですアイデアと私はこれがどこに行くのかは確信しています – JasonDavis