我们可以使用MongoDB替代内存缓存库(memcache和memcached)。?
MongoDB和内存缓存库中有什么需求。
答案 0 :(得分:7)
MongoDB作为缓存存储的主要问题之一是它没有过期机制。有关详细信息,请参阅this answer。
更新从MongoDB v2.2开始,它允许TTL用于集合。感谢JohnnyHK指点。
我建议使用Redis for caching和MongoDB作为数据库。他们一起工作很好。
答案 1 :(得分:6)
MongoDB遇到的最大问题是它不会像memcached那样自然而强有力地将所有内容加载到内存中,因为它的名称是内存中的键值存储。
您还必须考虑MongoDB本身不进行内存管理,而是允许操作系统使用本机LRU算法完全控制它。我无法理解这可能给你带来的任何问题,因为我没有你的数据或索引或查询。
然而,许多尝试使用memcache作为数据库的人(许多人都这样做)发现它并不是特别快(实际上并没有为它设计),而这正是MongoDB突破的地方。
MongoDB是否取代了内存缓存取决于你的需要,但是如果你需要的是MongoDB需要替换缓存,那么你也可以用MongoDB替换SQL,这是我对此的诚实看法因为你已经模糊了缓存和存储之间的界限。
答案 2 :(得分:3)
以下是一些用MongoDB替换memcached的人的例子。或者至少避免了对memcached的需求。
http://blog.serverdensity.com/removing-memcached-because-its-too-slow/