Redis在什么时候会超越MongoDB?

Posted 人工智能与大数据技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis在什么时候会超越MongoDB?相关的知识,希望对你有一定的参考价值。

来自:极客头条

链接:http://geek.csdn.net/news/detail/74859
原文:https://dzone.com/articles/when-does-redis-outperform-mongodb


在NoSQL数据库中,Redis和MongoDB都是非常受欢迎的选择。他们分享一些重要的性能,如速度和数据组织方式,都是对开发者有益的,但是Redis在什么情况下能超越MongoDB呢?这实际上取决于存储的数据类型和性质,以及它将如何在应用程序中使用。


MongoDB是有优势的


如果要存储和查询非常大的数据集—— 最值得注意的是如果这些数据集将在定期的基础上增长,那么 MongoDB 是获胜者。这样做的原因是 MongoDB 擅长缩放日益增长的数据集,同时也使这一进程对数据库管理员和开发人员来说非常容易。


在发展领域,MongoDB提供BSON数据格式,就像无数的JSON格式开发者有相当多的经验。其中每个子文档,提供了一个层次结构的数据文件。这可供面向对象语言的开发人员进行的训练所使用。


db.collection.find( <query filter>, <projection> )


MongoDB查询的一个例子。来源:MongoDB(https://docs.mongodb.com/manual/tutorial/query-documents/


Redis的擅长


您的数据库有预测尺寸的大小吗?如果数据库的大小随着时间基本上保持不变,Redis可以优化这一特性,为您提供大量的查找速度。通过将数据库存放在内存中,Redis可以执行高性能缓存,并能极其迅速地找到所需的数据。


另一种方法,Redis可以为速度优化其组织作为键值存储。如果你有一个已知的键,对于数据的查找是非常快。例如,应用程序过程中的实时数据,如股票价格跟踪应用程序,在Redis上将跑的非常快,因为它将优化的价格作为了特定的键的查找。


对于开发人员来说,也可以选择使用更复杂的数据结构如标量、集、散列和列表。这些都非常类似于在许多编程语言名称类似的结构,从而使学习曲线更陡峭的开发人员,已经非常熟悉了这些结构。

LPUSH mylist a   # now the list is "a" LPUSH mylist b   # now the list is "b","a" RPUSH mylist c   # now the list is "b","a","c" (RPUSH was used this time)


Redis,列表的一个示例。来源:Redis(http://redis.io/topics/data-types


Redis何时快


总之,如果你符合这些条的话,Redis将会成为在性能方面更好的选择:

  • 你会有一个相对一致的和可知大小的数据库。

  • 速度将是非常重要的,你将能够使用一个已知的键进行数据检索。  

  • 你想要存储数据进行实时显示或实时分析。


为此,你应该能够确定何时以及如何使用Redis,将会比MongoDB执行的应用程序更快 !



●本文编号116,以后想阅读这篇文章直接输入116即可。

●输入m可以获取到文章目录。

今日微信公号推荐↓↓↓
 


更多推荐请看


涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、ios开发、C/C++、.NET、Linux、数据库、运维等。传播计算机学习经验、推荐计算机优秀资源:点击前往

点击阅读原文,了解野狗

以上是关于Redis在什么时候会超越MongoDB?的主要内容,如果未能解决你的问题,请参考以下文章

83期面试被问到了Redis和MongoDB的区别?看这里就对了

什么时候 AngularJS 会超越 jQuery

如何将代码片段存储在 mongodb 中?

Redis 5种数据结构使用及注意事项

Redis和Mongodb应用场景研究

mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?