【问题标题】:CMS caching adviceCMS 缓存建议
【发布时间】:2023-03-19 20:14:01
【问题描述】:

我正在使用 .Net 开发视频 cms。有两种主要的对象类型: 类别:层次结构。 项目:可以具有自定义属性的基础 cms 对象。 每个项目属于一个或多个类别。 该系统将为许多不同的公司提供服务,因此每个项目和类别都有公司关系。 系统将使用 EntityFramework 从 MsSql 数据库中检索数据。 系统会根据订单过滤器给出单个商品或已订购商品列表。

我需要一个建议来从源中检索数据并在短时间内提供结果。 我搜索了分布式缓存解决方案,例如 app fabric 和一些 nosql 解决方案,但我不确定如何构建我的系统。

我应该缓存所有项目并根据缓存的项目生成结果,还是应该缓存结果然后提供它们?我应该使用什么以及如何使用?

【问题讨论】:

    标签: asp.net caching content-management-system nosql


    【解决方案1】:

    当您需要以最低延迟交付内容时,最好使用像 Windows App Fabric 这样的分布式缓存,您可以在其中将缓存分布在不同的节点上。

    我建议您可以缓存类别,因为类别不会经常更新,并且您可以为公司项目提供基于公司的缓存。由于涉及到自定义属性,因此您应该非常小心,不要在缓存中包含陈旧或无效的数据,这取决于您的应用程序逻辑。

    【讨论】:

    • 这就是我的想法,但我正在努力解决如何缓存或存储项目。我的意思是客户可以请求带有排序选项的项目列表的变体。当我缓存这些结果时,我会以不同的顺序缓存相同的项目。我也想有效地使用 ram,但这是不可能的事情吗?
    • @genesistr:我建议您对所有公司的项目列表进行缓存,然后为公司缓存排序顺序,这样当客户请求项目时,您可以从缓存,然后应用排序顺序[再次来自缓存]。希望这适用于您的用例
    • 感谢您的建议。我想过这个解决方案,但我不确定。我会选择这个解决方案。希望它工作正常。 (+1 为您提供帮助)
    • @genesistr:谢谢,请分享您的实施反馈或任何疑问。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 2011-07-07
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2012-06-17
    • 2010-11-12
    相关资源
    最近更新 更多