私のredditのようなウェブサイトを最適化することについてよく考えています. 想像する必要がある場合は、 Redditについて考えてみてください。
今のところ、USER、POST、USER_CHAN の 3 つのテーブルがあります。
したがって、ユーザーごとに、彼がサブスクライブしたチャン (irc のように考えてください) が USER_CHAN にあります。
USER_CHAN
user_id chan_id
だから私はこのようなリクエストにジョイントを作りました:
SELECT post.* FROM post JOIN user_chan ON user_chan.user_id = {$session[id]} AND post.chan_id = user_chan.chan_id
次に、結果を次のような名前のファイルにキャッシュします。
sort-list_of_chans-page.html
たとえば、次のようになります。
hot-1,2,5,6-1.html
(人気順に並べ替え、ユーザーは chan 1、2、5、および 6 を購読しており、結果の 1 ページ目)
また
last-1,5,7,8-4.html
次に、jquery
キャッシュがロードされた後、各結果 ($('box').each) をクエリして、適用された投票の種類を表示します (デフォルトでは、投票は適用されません)。
ここまでみんなフォローしてくれたら嬉しいです!
(また、20 ページより先にある場合は何もキャッシュしません。これらのページに到達するユーザーはほとんどいないと考えました)
問題は、この最適化が本当に「良い」かどうかわからないということです。また、次の新しいアイデアもありました。
そのような結果を 、またはテーブルのような形式でキャッシュするとJSON
、たとえば 20 ページとしましょう。
次に、このキャッシュされたものを でロードし、各結果をPHP
チェックインしPHP
て投票を適用し (その後、1 つの BIG リクエストと複数のリクエストを実行できます)、結果を表示します。
を使用しないとjquery
、キャッシュされたファイルのサイズが小さくなり、reddit の「非表示」機能を使用できます...これについてどう思いますか? JSON
これを実装するには、または何かを使用する必要がありますか?