NoSQL vs Linq To Objects for asp.net mvc

本文关键字:asp net mvc for Objects vs Linq To NoSQL | 更新日期: 2023-09-27 17:49:30

使用某种NoSQL数据库是否有任何优势,而不是仅仅在HttpCache中保持一个大对象缓存并使用linq到对象来查询东西?

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

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

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

我正在考虑构建一个新版本,并将感谢任何关于NoSQL数据库是否提供任何真正的优势,而不是仅仅使用linq到对象的建议。

NoSQL vs Linq To Objects for asp.net mvc

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

看一下这篇文章,它解释了Notification Services是如何工作的。

在5000个对象的HttpRuntime.Cache是一个伟大的NoSQL数据存储。