栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

什么是存储数千个中型文档的最有效的面向文档的数据库引擎?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是存储数千个中型文档的最有效的面向文档的数据库引擎?

这在很大程度上取决于特定的用例。如果您想查询文档的ID以外的其他内容,则不要选择Redis。使用Redis,您将必须实现自己的索引编制方案,而这是不必要的。

实际上,在极少数情况下,对于我认为您的用例而言,Redis会是一个更好的选择(不是Redis出现任何问题,我经常同时使用Redis和Mongo,但是用于不同的事情)。在我看来,您有一些可以表示为哈希的对象。Mongo和Redis都可以存储哈希,但是Mongo可以做更多的事情。使用Mongo,您可以在文档的任何字段中搜索文档,可以添加索引来加快文档的速度,并且该字段甚至不必是字符串,可以是数字,日期,列表甚至文档(或文档列表),并且所有文档都不必放在RAM中(尽管在Redis的磁盘存储功能完成时会有所变化)。Redis没有任何东西。您必须自己实现索引才能进行搜索,哦)。

您还提到了速度。Redis的运行速度非常快,Mongo也不错,但是,使用Mongo的用例可能会更快。注意我说 使用
Mongo,不是说Mongo本身会更快。事实是,如果您使用Redis并仍然希望能够使用不是主键的字段来搜索文档,则如上所述,您必须自己实现此功能。然后,搜索必须至少向Redis发出两个请求,一个用于查找索引,另一个用于获取文档。如果搜索结果涉及多个文档,则您必须分别请求每个文档。发出所有这些请求的开销可能会使使用Redis比使用Mongo更糟。以我的经验,除最简单的缓存,队列或类似操作外,其他任何事情都需要向Redis发出多个请求,以获取其所需的一切。

因此,鉴于我掌握的信息有限,我建议使用MongoDB。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号