gpt4 book ai didi

ruby-on-rails - 在 RoR 中缓存昂贵的查询结果

转载 作者:数据小太阳 更新时间:2023-10-29 08:40:21 25 4
gpt4 key购买 nike

所以我有这个昂贵的数据库查询,其结果不会经常改变。

问题是,在这个查询的 95% 的时间里,我唯一真正关心的是 50 kb 的原始数据字符串。

使用页面缓存来缓存昂贵且经常使用的查询的结果是否完全违反“RoR 方式”TM?

在数据库服务器本身上缓存结果集有点矫枉过正,因为我真的只关心我从查询结果中收集的一小部分数据。{}并且页面缓存是一种浪费,因为多个不同的页面使用此数据并且都将缓存相同的内容,只是周围的 View 发生变化。

最佳答案

听起来你想要 rails 缓存

Rails.cache.fetch('cache_key') do
# calculations here
end

这要么执行计算并将 block 的返回值填充到缓存中,要么从缓存中读取值。

您可以明确地使内容过期 (Rails.cache.delete) 或设置过期时间或使用分代缓存键。

您可以使用多种缓存存储,但最常见的一种是 memcsched。有关如何配置缓存存储的详细信息 here

关于ruby-on-rails - 在 RoR 中缓存昂贵的查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com