【问题标题】:Orchard caching on server服务器上的果园缓存
【发布时间】:2016-02-17 22:55:21
【问题描述】:

我正在使用 Orchard CMS 版本 1.7.3 为了实现缓存,我使用了Orchard的ICacheManager(该接口提供的Get方法)。

我有一个问题,这个 ICacheManager 接口是否会为每个请求在服务器上生成缓存?例如, -用户1点击页面A。缓存生成。用户 1 再次点击页面,显示缓存版本。 -用户 2 在用户 1 之后点击页面 A。现在将为用户 2 生成新的缓存还是为用户 2 使用用户 1 生成的缓存?

【问题讨论】:

    标签: c# caching orchardcms orchardcms-1.7


    【解决方案1】:

    根据我在 Orchard 的经验,我发现缓存管理器适用于所有用户。这意味着您应该谨慎为基于用户的数据生成缓存结果。

    【讨论】:

    • 感谢您的回复@damanptyltd 我还注意到即使生成了缓存,在访问缓存页面时CPU 利用率也很高。
    • “缓存页面”和具有使用 ICacheManager 的代码的页面是不同的。实现 ICacheManager 的页面上的 CPU 使用率可能仍然很高,因为页面的其余部分并且所有果园开销都没有被缓存,只是缓存管理器缓存的部分。如果您使用内置的输出缓存,您会看到 CPU 利用率较低,因为对该页面的整个调用都被缓存了。
    • 嘿@damanptyltd,输出缓存模块已启用。我正在分析我的网站,我注意到大量 sql 调用来获取标题或自动路由 (url) 等信息。我没有做任何花哨的事情,我正在使用 Orchard 的 IContentManager 接口服务来获取数据。但是,我无法理解为什么 CPU 使用率如此之高。
    • 我当前的所有项目都在 Orchard 1.9.1 上,所以我无法测试这是正常功能还是确实是 1.7.3 的错误 - 您能否将您的果园更新到最新的公开版本并重新测试问题?为迟到的回复道歉。
    • 嘿@damanptyltd 我确实升级到 1.9.2 并且缓存工作得非常好。因此,我认为问题出在 1.7.3 版。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2013-02-12
    相关资源
    最近更新 更多