asp.net-mvc – 产品目录搜索 – NoSQL / MongoDB的良好用例?
发布时间:2020-12-16 06:37:16 所属栏目:asp.Net 来源:网络整理
导读:我们正在开发一个部署在AppHarbor上的ASP.NET MVC 3网站.该网站上至少有10,000种产品.用户可以基于标记系统搜索产品(例如,搜索“color = blue”加上“size = 10”加上“category = whatever”).因此,这个系统将在数据库读取和写入时点亮,我们主要关心的一个
我们正在开发一个部署在AppHarbor上的ASP.NET MVC 3网站.该网站上至少有10,000种产品.用户可以基于标记系统搜索产品(例如,搜索“color = blue”加上“size = 10”加上“category = whatever”).因此,这个系统将在数据库读取和写入时点亮,我们主要关心的一个问题是保持搜索功能的速度极快.为此,我们还希望结合一些缓存结果.
>我们认为这是一个使用NoSQL数据库的好用例(我们一直在关注MongoDB,将在https://mongohq.com上托管),我们是对还是错? 干杯! 解决方法
MongoDB非常适合标记,因为它具有
multikeys功能
例如假设您创建这样的产品文档 { _id : 1,name : "Widget",tags: [ {color : "blue"},{size : 10},{foo : "bar"} ] } 然后,您可以在tags数组上创建索引,并为每个项目编制索引.因此,要查找所有蓝色的产品,您可以这样查询: db.Products.find({tags : {color : "blue"}}); 关于这一点的好处是每个项目都可以有一组完全不同的标签“属性”,查询将能够使用索引 – 有些可能有颜色和大小,有些可能有重量和高度. 关于缓存,在MongoDB中,有足够的RAM来保存你的工作集在内存中是很重要的(足以保存所有访问的数据和索引).这样,数据将保留在内存中,使查询非常快速.所以你可能不需要顶部的缓存技术. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 什么是ASP.NET WebForms相当于ASP.NET MVC的ViewData
- asp.net-mvc – 使用WCF/OData作为访问层而不是直接使用EF/
- asp.net-mvc – 持久化jqGrid列首选项
- asp.net-mvc-4 – 如何使用Enterprise Library 6将异常,事件
- asp.net – 如何验证列表框是否为空(客户端)
- asp.net-mvc – Chrome34忽略域名为“.cloudapp.net”的coo
- asp.net – How2:在HttpModule中挂钩的事件,用于将js链接放
- asp.net-mvc – ValidateInput(false)和AllowHtml属性仍导致
- ASP.NET GridView用法(二) 模板,脚注,排序,编辑,删除
- asp.net-mvc – 为什么ASP.NET MVC Html.CheckBox输出两个I
推荐文章
站长推荐
- asp.net – 如何从复选框列表中获取最新的选定值
- asp.net-mvc – 从Html.RouteLink生成绝对URL
- asp.net – Inno安装IIS安装和配置
- 具有Entity Framework Code Only和ASP.NET MVC的
- asp.net – 对于在Azure部署的Web.config中存储密
- asp.net – gridview在viewstate中保存数据吗?
- asp.net-mvc – 在WCF项目中设置Web API
- log4net在ASP.NET中的唯一请求ID
- asp.net-mvc – 将index.html设置为默认页面
- 设计模式 – 为什么在绿地ASP.Net MVC应用程序中
热点阅读