当前位置: 首页 > 面试题库 >

什么时候去Redis?什么时候去MongoDB?[关闭]

陈刚洁
2023-03-14
问题内容

我想要的不是Redis和MongoDB之间的比较。我知道他们是不同的。性能和API完全不同。

Redis的速度非常快,但是API的“原子性”非常好。MongoDB将占用更多资源,但是该API非常易于使用,对此我感到非常满意。

它们都很棒,我想在部署中尽可能多地使用Redis,但是很难编写代码。我想在开发中尽可能多地使用MongoDB,但是它需要一台昂贵的机器。

那么您如何看待两者的使用呢?何时选择Redis?何时选择MongoDB?


问题答案:

我要说的是,这取决于您是什么样的开发团队以及您的应用程序需求。

例如,如果您需要进行大量 查询
,则大多数情况下,这意味着开发人员使用Redis会更加费事,因为您的数据可能存储在各种专门的数据结构中,这些结构针对每种类型的对象进行了自定义以提高效率。在MongoDB中,相同的查询可能会更容易,因为整个数据的结构更加一致。另一方面,在Redis中,对这些查询的
快速 响应是处理数据可能存储的各种结构的额外工作的回报。

MongoDB为具有传统DB和SQL经验的开发人员提供了简单,短得多的学习曲线。但是,Redis的非传统方法需要更多的学习努力,但需要更大的灵活性。

例如。一个 缓存 层很可能在Redis的得到更好的执行。对于更多可用于模式的数据,MongoDB更好。
[注意:MongoDB和Redis在技术上都是无模式的]

如果您问我,对于大多数要求,我的个人选择是Redis。

最后,我希望到目前为止您已经看过http://antirez.com/post/MongoDB-and-
Redis.html



 类似资料:
  • 问题内容: 我想知道如果不关闭ResultSet是否可以将其关闭?我有一个ResultSet已关闭异常,但是我确定我没有在任何地方关闭ResultSet。我的确切做法是,我使用ResultSet来执行SELECT查询,然后使用相同的ResultSet,因为此方法调用了ResultSet: 那么,另一个问题是:有没有一种方法可以确保打开ResultSet? 第三个问题:也许是问题所在,因为我从不关闭

  • 本文向大家介绍什么时候用delegate,什么时候用Notification?相关面试题,主要包含被问及什么时候用delegate,什么时候用Notification?时的应答技巧和注意事项,需要的朋友参考一下 答:delegate针对one-to-one关系,并且reciever可以返回值 给sender,notification 可以针对one-to-one/many/none,recieve

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 在GO-net/http响应中,主体注释表示: 打电话的人有责任把尸体关上。默认HTTP客户机的传输不会尝试重用HTTP/1.0或HTTP/1.1 TCP连接(“保持活动”),除非主体读取完成并关闭。 意思是:如果我用http。得到,不要打电话给resp。身体。关闭(),那么它将不会恢复HTTP/1.0或HTTP/1.1 TCP连接(保持活力),是吗? 所以我写了一些代码:

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的

  • 我创建了一个类(正如书中所说)来保存从键盘输入的一个人的姓名和姓氏,然后还有另一个类,它将一个人的国家代码、区号和号码封装为字符串 Person将用作Hashmap中的键 Class封装了和。许多对象组成了一个表示电话簿的HashMap。 实现了