加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – mongoid查询缓存

发布时间:2020-12-16 20:38:00 所属栏目:百科 来源:网络整理
导读:Rails的ActiveRecord有一个名为Query Caching(ActiveRecord :: QueryCache)的功能,它可以保存SQL查询在请求的生命周期中的结果.虽然我不太熟悉实现的内部实现,但我认为它将查询结果保存在Rack env中的某个位置,这在结束请求时被丢弃. 不幸的是,Mongoid目前没
Rails的ActiveRecord有一个名为Query Caching(ActiveRecord :: QueryCache)的功能,它可以保存SQL查询在请求的生命周期中的结果.虽然我不太熟悉实现的内部实现,但我认为它将查询结果保存在Rack env中的某个位置,这在结束请求时被丢弃.

不幸的是,Mongoid目前没有提供这样的功能,而且这种情况更加恶化,因为有些查询隐含地发生(引用).
我正在考虑实现这个功能,我很好奇,Mongoid(或者也许,mongo driver?)应该在哪里和如何被钩住来实现这个.

解决方法

Mongoid有缓存,描述在 http://mongoid.org/en/mongoid/docs/extras.html

MongoDB本身也具有缓存能力:http://www.mongodb.org/display/DOCS/Caching

mongoid缓存额外知道2种不同的情况:缓存模型的所有查询或查询的缓存.

Mongoid缓存似乎略有不同:它看起来像mongoid代理缓存到mongodb. (在mongoid的来源我只能找到缓存的选项设置,但没有缓存模块.)

最后会说,缓存中没有什么真正的区别 – 在记忆中其实是在记忆中!无论是在应用程序还是在数据库中.

我不喜欢实现一个额外的缓存算法,因为这似乎是多余的和一个RAM杀手.

BTW:如果你真的想缓存结果的应用程序,你可以尝试Rails.cache或另一个缓存gem作为解决方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读