【问题标题】:NoSQL vs Linq To Objects for asp.net mvcNoSQL vs Linq To Objects for asp.net mvc
【发布时间】:2011-04-06 14:22:29
【问题描述】:

与仅在 HttpCache 中保留大对象缓存并使用 linq to objects 查询内容相比,使用某种 NoSQL 数据库有什么优势吗?

我们有一个 5000 种产品的列表,需要根据地理位置、用户偏好等提供给用户。规范的产品数据存在于关系数据库中,我们不打算更改它。我们有一个存储过程,它返回给定客户的有效产品 ID 的大列表,但我们不希望为每个客户重新加载每个产品的开销。 (为什么在 db server 和 web server 之间发布相同的产品描述?)

因此,我们只是从缓存中获取给定产品 ID 列表的产品详细信息。

我们第一次缓存产品的尝试导致了巨大的内存使用,因为由于糟糕的查询设计和缓慢的垃圾收集,应用程序进行了多次 ToList() 调用。

我正在考虑构建一个新版本,并希望就 NoSQL 数据库是否比仅使用 linq to objects 提供任何真正的优势提出任何建议。

【问题讨论】:

    标签: c# nosql linq-to-objects


    【解决方案1】:

    如果您的关系数据库是 SQL Server,您可以使用 Notification Services 并使用 SqlDataSourceEnableCaching="True"CacheDuration="Infinite" 存储产品列表。这种方法的优点是您将获得往返仅当产品列表被修改时才数据库。

    看看这个article,它解释了通知服务的工作原理。

    【讨论】:

      【解决方案2】:

      HttpRuntime.Cache 拥有 5000 个对象,是一个很棒的 NoSQL 数据存储。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-03
        • 1970-01-01
        • 2011-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多