0

我正在考虑优化我的类似 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

然后我将结果缓存到一个像这样命名的文件中:

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每个结果以应用投票(然后我可以做一个大请求和多个请求),然后显示结果。

不使用jquery,缓存文件会更小,我可以使用reddit的“隐藏”功能......你怎么看?我应该使用JSON还是其他东西来实现这个?

4

0 回答 0