2012-12-16 56 views
1

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

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

我是否应该缓存所有项目并根据缓存项目生成结果,还是应该缓存结果并提供服务?我该如何使用?

回答

0

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

我建议您可以缓存类别的想法,即类别不会经常更新,也可以有公司基于公司的项目缓存。由于涉及到自定义属性,因此应该非常小心,不要在缓存中存在过时或无效的数据,这取决于您的应用程序逻辑。

+0

这就是我的想法,但我正在努力缓存或存储物品。我的意思是客户可以通过排序选项请求项目列表的变体。当我缓存这些结果时,我会用不同的顺序缓存相同的项目。我也想有效地使用内存,但这是不可能的事情? – genesistr

+1

@genesistr:我想建议您在所有公司中都有一个物品清单缓存,然后为公司提供排序顺序缓存,因此当客户请求物品时,您可以从缓存中获取物品,然后应用排序顺序[再次从缓存]。希望这工作正常您的用例 – Saravanan

+0

感谢您的意见。我想过这个解决方案,但我对此一无所知。我会去解决这个问题。希望它能正常工作。 (+1为你的帮助) – genesistr