Rails 3:如何在MongoDB中实现查询缓存

时间:2012-05-15 21:44:49

标签: mysql ruby-on-rails-3 caching mongodb query-cache

我做了一些关于MongoDB的研究,并认识到它没有任何查询缓存。

  

MongoDB没有实现查询缓存:MongoDB直接从索引和/或数据文件提供所有查询。 (http://docs.mongodb.org/manual/faq/fundamentals/)

有没有办法在Rails for MongoDB中实现查询缓存?我只想要与MySQL查询缓存相同的行为。第二次相同的数据库查询应该更快。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用memcached添加缓存层,但MongoDB可能仍会将数据从上次读/写操作中分页到内存中。将您的MongoDB服务器内存用于memcached将与其内存映射文件模型竞争。较少的MongoDB内存意味着更多的磁盘交换。

如果您正在运行map reduce作业(大到足以导致分页),则可能值得缓存结果,但正确跟踪更新可能非常棘手。