当前位置:  开发笔记 > 编程语言 > 正文

使用MongoDB时是否建议使用Memcache?

如何解决《使用MongoDB时是否建议使用Memcache?》经验,为你挑选了2个好方法。

我想知道在使用像mongoDB这样的NoSQL数据库时是否建议使用Memcache.



1> Gates VP..:

使用memcache的概念源于你有"额外的RAM"坐在某处的想法.MongoDB和MySQL(以及大多数数据库)都将占用他们可以获得的每兆字节RAM.

在很常见的MySQL /内存缓存的情况下,这是非常有据可查的,使用内存缓存更多的是在服务器上降低查询负载比它关于加快查询.一个好的memcache实现基本上只是试图将最常见的数据保存在内存中,以便数据库服务器可以在更大的东西上流失.

事实上,根据我的经验,使用 memcache通常会依赖于 memcache来维护系统性能.

那么回到最初的问题,你在哪里有额外的RAM?

如果您在Web服务器上有额外的RAM,则可以使用Memcache.当然,您也可以在Web服务器上本地运行Mongo.只需从主服务器中获取所需的数据.

如果你在其他计算机上有额外的RAM,那么使用memcache并不是真的有意义.只需向MongoDB副本集或分片添加更多节点即可.这是MongoDB实际上闪耀的地方.由于分片/复制,您可以向Mongo水平添加更多RAM以提高性能.使用SQL,"只添加更多服务器"非常困难,因为连接不能很好地扩展.但是对于Mongo来说,很可能只是为问题"添加更多节点".



2> Arantor..:

MongoDB无论如何都将所有东西存储在内存中,并且以类似的方式工作,是一个基于键值的系统,但是我相信MongoDB更灵活,因为它允许在自己内部存储BSON对象.

(为了澄清,MongoDB使用BSON,一种特殊形式的JSON,用于存储其所有数据,包括对象中的对象.)


这个答案是不准确的,MongoDB不是一个键值存储,它不包含在RAM中的所有内容,它与虚拟内存的mmaps完全不同.
这个功能让我比其他键值数据库更像mongoDB :)
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有