MongoDB需要缓存吗?

时间:2013-12-30 05:40:14

标签: mongodb memcached

当我只使用MongoDB并从MongoDB中检索数据1000次时,该过程仅完成了10秒钟。之后,我将Memcached和MongoDB结合起来,这样,从Mongo检索到的所有数据都存储在Memcached之前,我从Memcached获取数据,但是完成任务需要2分钟!

所以任何人都有提高性能的新方法,请告诉我。我的系统预计将有大约1000个请求/秒的服务。因此,我为此感到担心。

1 个答案:

答案 0 :(得分:1)

MongoDB使用磁盘存储数据,而memchahed是内存数据库。理想情况下,Memcached比mongo更快。我已经看到这个500+请求/秒。

当涉及到缓存时,我没有任何可配置的东西。

在我的设置中,我正在使用Mongo,Memchaed和Redis DB的组合,我使用

  

Redis用于存储内容索引,此索引告诉我数据存储在mongo或memchaed或磁盘上的天气。

     

MongoDB用于存储小于1 MB的文件,大于1 MB的文件存储在磁盘中。

*** RedisDB也用于存储特定内容的命中计数,假设ABC请求3次,因此该计数3也与Index一起存储在RedisDB中。根据命中计数,我将内容从Mongo移动到Memcached。 一旦数据从Mongo移动到Memcached,索引也会相应更新。

  

因此,Memcached用于经常访问的内容。

我使用了memchaed以下选项,


memcached -d -m 8192 -P /home/setup/pid/.memcache.info -u root -l 127.0.0.1 -p 11211 -t 50 -n 1024


这个架构很适合我。在redis中存储数据索引还可以帮助您节省在那里搜索数据的时间。

相关问题