"Refresh cache" 在 Magento 中是什么意思?
What does "Refresh cache" mean in Magento?
这是我在调查 Magento 中的缓存行为后发现的。
我不确定这一点并要求更正。
当修改产品之类的东西时,"HTML Block" 等缓存条目变为 "invalidated",导致被忽略并且不在前端使用。这是有道理的,因为这些数据现在已经过时了。
它一直保持 "invalidated",直到手动 "refreshed" 通过管理区域。
一旦手动 "refreshed",缓存块的第一次渲染将构建其缓存副本并将其附加到此 HTML 块缓存保留。此块的后续渲染操作将发现此缓存可用,并最终使用它,直到缓存再次变为 "invalidated"。
为什么这个过程被称为 "refresh",因为它应该类似于 "reset"?因为 "refresh" 意味着它会生成更新的缓存快照,但它只允许构造缓存条目。
为什么失效的数据失效后不刷新?
这让我质疑我的结论,我是否正确?
默认情况下修改对用户重要的数据时应该刷新Magento缓存。例如。订单数据、运输信息等
这是我多年来为该软件编写扩展时观察到的行为。您可以手动禁用此行为,但默认情况下,动态数据应该 "holes" 通过缓存。
why this process is called "refresh", as it should be like "reset"
您对此的总体看法是正确的——有些人称之为 "refresh" 因为虽然您采取的操作会重置缓存,但在正常工作的 Magento 系统中,缓存几乎会在您下次您 (或其他用户)加载页面。
Why don't invalidated data become refreshed once it's invalidated?
当缓存失效时,这意味着开发人员处理任何使缓存失效的后端功能都足够聪明,知道他们的操作需要缓存刷新,但程序化的缓存控制不足以仅刷新他们的部分更改缓存的数量。
例如,某些块可能会呈现产品价格的变化,这意味着需要刷新任何缓存了价格的块。但是,作为后端程序员,没有办法知道 哪个 块需要失效,也不知道它们存储在哪个缓存系统(块缓存、FPC、清漆)中。还有一个商店性能问题——如果您正在编辑 100 个产品,您是否希望 Magento 在高峰时段重建缓存 100 次?因此,开发人员没有决定如何处理所有这些,而是将缓存标记为无效。这允许缓存系统采取它认为必要的任何操作。
在一个完美的理论缓存系统中,会有自动进程 运行 检测无效的缓存,并知道该做什么以及何时刷新它。这是一个实施和维护的复杂系统,因此 Magento 选择简单地通知店主缓存无效,并让他们采取他们认为适当的任何行动。
这是我在调查 Magento 中的缓存行为后发现的。
我不确定这一点并要求更正。
当修改产品之类的东西时,"HTML Block" 等缓存条目变为 "invalidated",导致被忽略并且不在前端使用。这是有道理的,因为这些数据现在已经过时了。
它一直保持 "invalidated",直到手动 "refreshed" 通过管理区域。
一旦手动 "refreshed",缓存块的第一次渲染将构建其缓存副本并将其附加到此 HTML 块缓存保留。此块的后续渲染操作将发现此缓存可用,并最终使用它,直到缓存再次变为 "invalidated"。
为什么这个过程被称为 "refresh",因为它应该类似于 "reset"?因为 "refresh" 意味着它会生成更新的缓存快照,但它只允许构造缓存条目。
为什么失效的数据失效后不刷新?
这让我质疑我的结论,我是否正确?
默认情况下修改对用户重要的数据时应该刷新Magento缓存。例如。订单数据、运输信息等
这是我多年来为该软件编写扩展时观察到的行为。您可以手动禁用此行为,但默认情况下,动态数据应该 "holes" 通过缓存。
why this process is called "refresh", as it should be like "reset"
您对此的总体看法是正确的——有些人称之为 "refresh" 因为虽然您采取的操作会重置缓存,但在正常工作的 Magento 系统中,缓存几乎会在您下次您 (或其他用户)加载页面。
Why don't invalidated data become refreshed once it's invalidated?
当缓存失效时,这意味着开发人员处理任何使缓存失效的后端功能都足够聪明,知道他们的操作需要缓存刷新,但程序化的缓存控制不足以仅刷新他们的部分更改缓存的数量。
例如,某些块可能会呈现产品价格的变化,这意味着需要刷新任何缓存了价格的块。但是,作为后端程序员,没有办法知道 哪个 块需要失效,也不知道它们存储在哪个缓存系统(块缓存、FPC、清漆)中。还有一个商店性能问题——如果您正在编辑 100 个产品,您是否希望 Magento 在高峰时段重建缓存 100 次?因此,开发人员没有决定如何处理所有这些,而是将缓存标记为无效。这允许缓存系统采取它认为必要的任何操作。
在一个完美的理论缓存系统中,会有自动进程 运行 检测无效的缓存,并知道该做什么以及何时刷新它。这是一个实施和维护的复杂系统,因此 Magento 选择简单地通知店主缓存无效,并让他们采取他们认为适当的任何行动。