我正在考虑优化我的类似reddit的网站。如果您需要对其进行描绘,请考虑Reddit。
目前我有3个表:USER,POST和USER_CHAN
所以对于每个用户,你都有他在USER_CHAN中订阅的chan(想想就像irc一样)
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
然后我将结果缓存到一个名为this:
的文件中sort-list_of_chans-page.html
所以它看起来像这样的例子:
hot-1,2,5,6-1.html
(按热排序,用户订阅了陈1,2,5和6,结果第1页)
或
last-1,5,7,8-4.html
然后,我在加载缓存后使用jquery
查询每个结果($('box')。每个)以显示应用的投票类型(默认情况下不投票)
我希望每个人都跟着我,直到这里!
(除了第20页之外,我也不会缓存任何内容,我认为很少有用户会访问这些页面)
问题是,我不知道这种优化是否真的“好”,而且我也有了这个新想法:
如果我以JSON
或表格格式缓存这种结果,请说20页。
然后我用PHP
加载这个缓存的东西,检查PHP
每个结果以应用投票(然后我可以执行一个大请求和多个请求),然后显示结果。
不使用jquery
,缓存文件的大小会更小,我可以使用reddit的“隐藏”功能......你怎么看待这个?我应该使用JSON
或其他东西来实现这个吗?