【问题标题】:MVC page design using caching for best performance and UXMVC 页面设计使用缓存以获得最佳性能和 UX
【发布时间】:2013-05-04 07:41:12
【问题描述】:

我有一个专辑页面(使用 ASPNET MVC + MongoDB),其中包含以下部分:

#1 显示为网格的缩略图列表 注意:我为视频相册中的每个视频加载了几个字段:url、长度、标题、标签。如果用户将鼠标悬停在缩略图上,我会显示其中的一些。

#2 那我有相关专辑

#3 然后我有列表详细信息

#4 然后我有当前视频的详细信息(包括可以是 5K 字符的描述)

#5 然后是当前视频的所有cmets。

如您所见,所有视频的缩略图列表、相关专辑、列表详细信息均相同。

但是每个视频的视频细节,视频cmet都不一样。

我需要流式传输视频,每次用户点击不同的缩略图时获取视频详细信息和评论

最好的方法是什么?

选项 1:每次点击的 url 重定向用户(将导致重新加载常见部分)

选项 2:ajax 加载 cmets 和 VIDEO 详细信息和更新页面(更多编码)

有没有办法利用缓存常见的部分?

请分享你的想法。

谢谢

【问题讨论】:

    标签: asp.net asp.net-mvc-3 mongodb


    【解决方案1】:

    如果在范围内,我可能还会考虑使用众多框架之一来创建单页应用程序,例如 Backbone(我碰巧非常喜欢它)。

    如果它只是您正在寻找的缓存解决方案,MVC 有一个OutputCache 属性,可以应用于控制器或单个操作,并允许微调和管理缓存行为服务器端、客户端、参数基于等等等等。

    【讨论】:

    • 我不想缓存整个动作。正如我所说,我只需要缓存页面的那些常见部分(列表详细信息、缩略图和相关列表)。如果我缓存整个动作(页面),它将如何工作?
    • 在阅读了一些文章后,我也无法使用输出缓存。问题是我可以拥有 10 万张专辑,但我无法为每张专辑缓存。服务器将耗尽内存。
    • 如果我没记错的话,你可以强制缓存在客户端上,所以每个客户端只会缓存它看过的专辑的一小部分。无论如何,如果缓存不是一种选择,另一种选择是将数据保留在 UI 上并使用 Ajax 来刷新变化的部分......
    • 我将使用 Ajax 页面刷新。
    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2013-05-07
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2013-09-11
    • 1970-01-01
    相关资源
    最近更新 更多