MongoDB是Memcached的更好替代品吗?

Aya*_*yaz 12 memcached mongodb

我们可以使用MongoDB替代内存缓存库(memcache和memcached).

以及MongoDB和内存缓存库中的顺序是什么.

Vol*_*ldy 7

MongoDB作为缓存存储的主要问题之一是它没有过期机制.有关这方面的更多详细信息,请参阅此答案.

更新自MongoDB v2.2以来,它允许TTL用于集合.感谢JohnnyHK的指点.

我建议使用Redis进行缓存,将MongoDB用作数据库.他们一起工作很好.

  • 从MongoDB 2.2开始,这已不再适用:http://docs.mongodb.org/manual/tutorial/expire-data/ (3认同)

Sam*_*aye 6

MongoDB最大的问题是它不会像memcached那样自然而有力地将所有内容加载到内存中,因为它的名称是内存中的键值存储.

您还必须考虑MongoDB本身不进行内存管理,它将允许操作系统使用本机LRU算法完全控制它.我无法理解这可能给你的任何问题,因为我没有你的数据或索引或查询.

然而,许多尝试使用memcache作为数据库的人(许多人都这样做)发现它并不是特别快(不是真的为它而设计),而这正是MongoDB突破的地方.

MongoDB是否取代了内存缓存取决于你的需要,但是如果你需要的是MongoDB需要替换缓存那么你也可以用MongoDB替换SQL,这是我对此事的诚实看法,因为你模糊了缓存和存储之间的界限.