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

ruby-on-rails – 在rake任务中缓存的ActiveRecord模型?

发布时间:2020-12-17 03:11:12 所属栏目:百科 来源:网络整理
导读:我知道在rails 2.3.2中缓存了ActiveRecord查询,即您可能会在开发/生产日志中看到一些内容: CACHE (0.0ms) SELECT * FROM `users` WHERE `users`.`id` = 1 我想知道相同的原则是否适用于rake任务. 我有一个rake任务,它将查询许多不同的模型,我想知道我是否应
我知道在rails 2.3.2中缓存了ActiveRecord查询,即您可能会在开发/生产日志中看到一些内容:

CACHE (0.0ms)   SELECT * FROM `users` WHERE `users`.`id` = 1

我想知道相同的原则是否适用于rake任务.

我有一个rake任务,它将查询许多不同的模型,我想知道我是否应该实现自己的缓存,或者默认情况下是否包含此行为.

另外,有没有办法查看在rake任务期间执行的sql查询?与开发/生产日志类似

解决方法

您正在谈论ActiveRecord查询缓存.如果您在启用了缓存的环境中运行它们,那么这应该也适用于Rake-Tasks,例如生产.
有关示例,请参见 Rails Guide on Caching.

对于您的案例,它可能是也可能不是正确的缓存:

u1=User.find 1  # loads user1 first time from DB
u2=User.find 2  # loads user2 first time from DB
u1again = User.find 1 # loads user1 from cache
all = User.all # loads user1 and user2 from DB again

(编辑:李大同)

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

    推荐文章
      热点阅读