问题标签 [fragment-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
485 浏览

ruby-on-rails - 从辅助模块调用控制器方法

使用 Rails 3.2

我正在尝试expire_fragment从帮助程序调用 Rails 视图方法,但出现错误:

我正在尝试有条件地清除缓存。这是我认为的辅助方法调用

而在帮手

我原以为 Rails 片段缓存方法可以在辅助模块中访问,但似乎并非如此。

我把它改成

这奏效了。

此方法在视图中可用。它可以从控制器获得。我真的不明白为什么它在助手中不可用。我在这里想念什么?为什么它在帮助程序中不可用,公开它的最佳方法是什么?谢谢

0 投票
0 回答
734 浏览

django - django模板片段缓存不起作用

我正在开发 Django 1.10.1 站点并尝试使用片段缓存。但是,我在配置的后端 memcached 中没有看到任何缓存集或命中。如果我设置了一个完整的视图缓存,它会很好地缓存到内存缓存中。例子:

我对缓存设置所做的唯一更改是设置后端。

0 投票
0 回答
308 浏览

wordpress - 无法让 w3 总缓存页面缓存与我的 cookie 一起使用

我在网站的各个部分(页眉/页脚/内页)都有动态电话号码,它们通过存储的 cookie 提取正确的电话号码。

cookie 由包含唯一 ID(例如 wwww.mydomain.com/a/1300)的查询字符串存储,该 ID 存储唯一的电话号码。

我的问题是当我启用页面缓存时,功能中断并且它没有显示正确的电话号码。

启用片段缓存使其在一定程度上起作用:

  1. 电话号码显示,但仅当我刷新页面而不是当我浏览网站时
  2. 加载不同的唯一 ID 时,cookie 并不总是被存储/替换。

对此的任何帮助将不胜感激,这让我很难过。

0 投票
1 回答
245 浏览

ruby-on-rails - Active Record 查询以计算具有 HABTM 关联记录的视图的缓存键?

学生和家长有has_and_belongs_to_many关系,都属于一个学校。

此查询返回最新的时间戳:

为什么不这样:

控制台日志暗示两者都执行相同的 SQL:

但第一个是唯一一个返回时间戳值的。

我想使用第二种形式的原因是我希望能够执行以下操作:

为具有关联的视图计算缓存键。我目前正在使用执行冗余查询的低效数组键:

0 投票
0 回答
84 浏览

ruby-on-rails - touch: true 删除对象时不触发

我有两个模型 - 发布和评论。我使用片段缓存来缓存每个post像这样:

post.rb

现在我的comments.rb文件如下:

这按预期工作。每当我向帖子添加新评论时,该特定帖子的缓存键都会过期。但是,当我从帖子中删除评论时,该帖子的缓存键不会过期。是什么赋予了?

0 投票
1 回答
1052 浏览

ruby-on-rails - Rails 4 缓存:如何禁用特定控制器操作或视图的默认缓存?

我们的Rails 4.2应用程序在生产环境中运行,具有以下配置(与缓存相关)。到目前为止,我们还没有实现任何缓存技术(默认设置)。

我遇到了特定视图的问题,该视图没有相应地显示更新的数据。

有没有办法可以为不在整个应用程序中的特定视图禁用片段缓存?

0 投票
1 回答
109 浏览

ruby-on-rails - 内部 HTML 更改时片段缓存过期?

我的 users.html.slim 视图中有以下内容:

我的问题是我已经更改了user/details标记,并且由于用户实际上没有更改,我仍然得到缓存版本。

根据文档,由于 HTML 已更改,缓存应该过期

当视图片段发生变化(例如,视图中的 HTML 发生变化)时,缓存片段也会过期。键末尾的字符串是模板树摘要。它是根据您正在缓存的视图片段的内容计算的 MD5 哈希值。如果您更改视图片段,MD5 哈希将更改,使现有文件过期。

但情况似乎并非如此。

解决这种情况的正确方法是什么?您依赖键的参数没有更改,但实际标记已更改。我正在考虑做类似的事情:

但我想知道在这些情况下这是否更合适。

0 投票
0 回答
224 浏览

ruby-on-rails - 在某些情况下,Rails 中呈现了错误的部分,可能是片段缓存问题

我有一个显示事件列表的模板

部分event

部分identifiable_link_with_tag

现在,奇怪的是接下来的事情。有时我在事件视图中注意到,对于某些事件,identifiable会呈现另一个部分 () 而不是identifiable_link_with_tag: _identifiable。这看起来很奇怪,在列出 25 个事件的页面上,这只会发生在 1 个或 2 个或 3 个(或 0 个)事件上。

所以简而言之,似乎有时会呈现错误的可识别性。我确实使用 Rails 片段缓存,所以这可能是一个因素。我错过了什么还是遇到了 Rails 错误?这个问题在开发中很难重现,因此很难调试。

0 投票
2 回答
538 浏览

ruby-on-rails - content_for 与片段缓存结合使用的解决方法

我试图在每个元素的基础上将内容插入页面的头部,所以我希望能够在部分中指定这样的内容:

并将其放在我页面的顶部:

但是元素部分被片段缓存,content_for在缓存中被忽略。

它在 Rails 文档中声明,content_for不适用于片段缓存的工作元素:

WARNING: content_for is ignored in caches. So you shouldn't use it for elements that will be fragment cached. http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for

目前有没有办法content_for在 Rails 5.1 上使用片段缓存?似乎有一段时间没有人真正触及过这个问题。有人知道是否有原因吗?


这里有一些较早的提及:

对于 caches_action 和 :layout => false 的忽略 content_for 块是否有解决方法?

content_for 在开发中工作但不是在生产中工作?

https://gist.github.com/stackng/891895

https://rails.lighthouseapp.com/projects/8994/tickets/3409-content_for-and-fragment-caching

0 投票
2 回答
710 浏览

ruby-on-rails - Rails 5.2.1 - 模型和片段缓存

我正在尝试在 Rails 5.2.1 中设置模型和片段缓存

我在片段缓存方面取得了成功,但在为我的模型实现模型缓存后,我仍然看到数据库查询。

我启用了开发缓存

模型助手

控制器

意见

应用程序/视图/语言/index.html.erb

应用程序/视图/语言/_language.html.erb

安慰

为什么我仍然看到每个请求的数据库查询?