我正在开发一个社交网络应用,用户可以互相关注。
为了加快速度,我在用户的预览和整页浏览中添加了片段缓存。
好消息是应用变得非常快。 糟糕的是我开始遇到与按钮相关的错误。
事实上,所有用户预览和完整页面浏览都有一个跟随块,无论用户是否登录,看到他的个人资料,看到其他人已经跟踪或看到其他人没有被跟踪,就可以有不同的4个状态。
为了解决这个问题,我结束了每个用户预览的不同缓存版本和4种不同状态中的每一种的完整页面视图(=每个用户8个不同的缓存片段)。问题现在已经消失,但我不禁认为这远非最佳状态。
然后我听说Ryan Bates' Railscast on dynamic fragment caching并开始思考。
也许我只能通过ajax加载关注按钮。但是......然后......
答案 0 :(得分:1)
我应该为每个按钮发出一个请求吗?
不,你应该将它们捆绑在一起,因为它比每个按钮一个请求快得多
我应该把它们全部收集起来以防止有很多请求吗?怎么样?
是的,您知道在一个页面上显示的所有对象,因此您应该能够收集要遵循的所有用户ID,并询问他们的跟随状态。
有更好的方法吗?
我无法想到任何事情,但这并不意味着没有更好的方法。