#57789
分配
增强
使与theme.json相关的缓存持久化
|
|
||
|
|
||
|
|||
|
|
||
|
描述 (上次修改者 )
缓存失效很难确定(哪些事件会导致缓存的值过时?) 缓存逻辑(而不是数据库值)在WordPress中还不是一种常见的做法,其中一个怪癖是,当包含动作/过滤器钩子的逻辑被缓存时,它们可能不再运行,这可能会导致笨拙的开发人员体验
更改历史记录 (83)
#1
@
19个月 以前
-
描述 修改( 差异 ) -
里程碑 已从更改 等待审查 到 6.3
#2
@
19个月 以前
#3
@
19个月 以前
upgrader_process_complete(升级过程完成) :用于WordPress、插件和主题更新。 切换主题(_theme) :活动主题已更改。 开始审阅主题 :预览自定义程序和主题目录。 保存post_wp_global_styles :用户通过站点编辑器更新theme.json数据。 激活的插件 和 停用的插件 :任何插件都可以连接到现有的 主题.json 过滤器,因此当它们被激活/停用时,过滤器可能会发生变化。
吸引消费者 主题.json 使用动态机制的数据(根据选项或用户元值决定是否挂接)。 对于这些情况,替代方法是添加更多缓存无效点(选项add/update/delete等),或者要求使用者自己清除缓存。 不是通过常规WordPress机制进行的更新(FTP更新、通过git存储库管理的更新等)。 另一种方法是要求消费者自己清除缓存。
#4
@
19个月 以前
#6
@
19个月 以前
13个月 以前
#11
-
关键词 has-patch接口 补充; 需要-补丁 远离的
#12
随访:
↓ 49
@
13个月 以前
-
关键词 需要-补丁 补充; has-patch接口 远离的
将合并的数据存储到与各个源类似的静态属性中,以消除合并它们的成本。 使整个合并结果可持久缓存 如果无法持久缓存整个结果,则使每个源中的数据都可以持久缓存
@奥安德雷格尔 对发表了评论 采购订单号5024 :
13个月 以前
#13
将此修补程序应用于您的环境:
-
src/wp-content/themes/twentytht23/theme.json diff—git a/src/wp-content/themes/twentythentythire/theme.json b/src/wp-content/thems/twentyphthire/ttheme.json 索引68e17a87e9..08e2e8ac0c 100644 一 b条 323 323 } 324 324 }, 325 325 “核心/后内容”:{ 326 “颜色”:{ 327 “background”:“热粉红色” 328 }, 326 329 “元素”:{ 327 330 “链接”:{ 328 331 “颜色”:{ -
src/wp-includes/blocks/archives.php diff—git a/src/wp-includes/blocks/archives.php b/src/wp-includeds/blocks/archives.php 索引695afde76..3b55c0a9c0 100644 一 b条 函数register_block_core_archives(){ 116 116 ); 117 117 } 118 118 add_action('init','register_block_core_archives'); 119 120 添加操作(_A)( 121 “初始化”, 122 函数(){ 123 WP_Theme_JSON_Resolver::get_merged_data(); 124 }, 125 0); 126 文件末尾没有换行符
加载hello world帖子。 预期结果是,文章内容使用 热情的粉红 作为背景色,如中所示 大旅行箱 :
@奥安德雷格尔 对发表了评论 采购订单号5024 :
13个月 以前
#14
@奥安德雷格尔 对发表了评论 采购订单号5024 :
13个月 以前
#15
乔麦吉尔 对发表了评论 采购订单号5024 :
13个月 以前
#16
@奥安德雷格尔 对发表了评论 采购订单号5024 :
13个月 以前
#17
@弗利克索斯90 对发表了评论 采购订单号5024 :
13个月 以前
#18
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
13个月 以前
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
13个月 以前
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
13个月 以前
乔麦吉尔 对发表了评论 采购订单号5024 :
12个月 以前
#23
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
12个月 以前
12个月 以前
#25
-
关键词 has-patch接口 补充; 需要-补丁 远离的
这张票是在 松弛(Slack) flixos90的核心表现。 查看日志 .
12个月 以前
#27
@
12个月 以前
#28
@
12个月 以前
以非持久方式缓存合并数据,以消除每次页面加载多次重新创建合并数据集的需要( 采购订单号5024 ) 基于每个主题所需的不同无效规则,持久缓存每个主题数据源(核心、块、主题、用户)( 公关5267 )
@弗利克索斯90 对发表了评论 采购订单号5024 :
12个月 以前
#29
wp-total公司 TT3:PR时86.24ms,无PR时为86.6ms(速度快0.4%) wp-total公司 TT1:52.1ms(带PR),52.24ms(不带)(快0.3%)
乔麦吉尔 对发表了评论 采购订单号5024 :
12个月 以前
#30
乔麦吉尔 对发表了评论 采购订单号5024 :
12个月 以前
#31
12个月 以前
#32
在我的测试中 #5024 ,我注意到主题JSON处理期间最昂贵的操作是核心数据和用户数据,而块和主题的数据影响较小。
我用这个公关做了一些个人资料,我没有看到你报道的那样的影响。 在大多数情况下
获取主题数据 方法用于构造
WP_主题_JSON_数据 对象,它不受更改的影响。
我们可以在WP_Theme_JSON_Data对象传递给
wp主题json数据主题 过滤器,因为除非更新主题,否则不应更改,这可能有助于或进一步提高类构造函数的性能。
12个月 以前
#33
你能分享4个不同过程所花费的数据吗?
WordPress运行探查器的速度较慢。 因此,JSON解码的成本似乎低于实际成本。
当你说“未受影响”时,是指对性能影响很小吗?
12个月 以前
#34
这张票是在 松弛(Slack) flixos90的核心表现。 查看日志 .
12个月 以前
#36
@
12个月 以前
-
里程碑 已从更改 6.4 到 6.5
##行李箱 ###二十二点二十三分 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│232.64║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(第25页)│236.84║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│241.37║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│256.21║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│260.35║ ╚═════════════════════╧════════════════════════╝ ###二十、二十一 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│143.93║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p25)│145.25║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│147.66║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│152.7║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│159.32║ ╚═════════════════════╧════════════════════════╝ ##公关5024 ###二十二点二十三分 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(第10页) ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p25)│230.65║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│233.19║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75) ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│262.33║ ╚═════════════════════╧════════════════════════╝ ###二十、二十一 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│142.86║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p25)│143.73║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│144.72║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│147.78║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│156.58║ ╚═════════════════════╧════════════════════════╝ ##中继(带memcached) ###二十二点二十三分 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│209.38║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(第25页)│210.3║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│212.58║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│221.22║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│234.26║ ╚═════════════════════╧════════════════════════╝ ###二十点二十分之一(带memcached) ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率←100% ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│127.66║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p25)│128.61║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│129.73║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│131.87║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│138.06║ ╚═════════════════════╧════════════════════════╝ ##PR 5267(带memcached) ###二十二点二十三分 ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│206║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(第25页) ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│209.3║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│213.44║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90) ╚═════════════════════╧════════════════════════╝ ###二十点二十分之一(带memcached) ╔═════════════════════╤════════════════════════╗ ║ URL│ http://localhost:8889/ ║ ╟─────────────────────┼────────────────────────╢ ║ 成功率│100%║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p10)│127.94║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(第25页)│129.12║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p50)│132.8║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p75)│139.86║ ╟─────────────────────┼────────────────────────╢ ║ 响应时间(p90)│143.62║ ╚═════════════════════╧════════════════════════╝
你链接到的个人资料( https://core.trac.wordpress.org/ticket/57789#评论:23 )似乎是另一位公关。
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
12个月 以前
@奥安德雷格尔 对发表了评论 采购订单号5024 :
12个月 以前
#38
12个月 以前
#39
读取JSON文件已经产生了缓存数据,只是这个类中的静态变量。
如果我们想让它们在请求之间持久化,我想我们应该删除现有的缓存并使用
wp_缓存_* 而不是? 实际上,它在预先存在的缓存数据上添加了_new_级别的缓存。
12个月 以前
#40
12个月 以前
#41
这些缓存并不相同:现在使用静态变量的缓存会缓存运行WordPress过滤器的数据,因此不应持久缓存,否则过滤器将无法运行。
我们已经有了诸如 静态::$theme_json_file_cache 和 静态::$i18n_schema JSON文件的内容(核心、主题和翻译模式)。 在调用任何筛选器之前,都会填充这些缓存。 它们是作为静态变量实现的,因此不能在请求之间持久化。 本公关介绍 核心${wpversion} , 主题_$ {样式表}_ ${版本} , i18n_schema${版本} 与现有数据完全相同。 尽管如此,它们是通过 wp_缓存_* 因此,它们可以被持久化。
这里不需要您提到的示例中的无效化,因为建议的缓存是按主题操作的。
这个 静态:$i18n_schema 确实通过清除 清除缓存数据 在主题切换(过滤器)上执行 切换主题(_theme) 和 开始审阅主题 ). 如果我们通过 i18n_schema${版本} ,为什么不清除它的非持久版本?
这个 静态::$theme_json_file_cache 在任何时候都不会被清除。 然而,相应的 核心${wpversion} 和 主题_$ {样式表}_ ${版本} 该公关引入的缓存将是持久的,因此它们更容易过时。 我想我们应该回答的问题是:在任何情况下,版本都不会改变,但底层会改变吗 主题.json 做?
12个月 以前
#42
#43
@
11个月 以前
-
优先 已从更改 正常的 到 高的
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
11个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
11个月 以前
10个月 以前
#46
10个月 以前
#47
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
10个月 以前
#49
答复: ↑ 12
@
10个月 以前
我想探索三种选择:
将合并的数据存储到与各个源类似的静态属性中,以消除合并它们的成本。
使整个合并结果可持久缓存
如果无法持久缓存整个结果,则使每个源中的数据都可以持久缓存
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
10个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
8个月 以前
这张票是在 松弛(Slack) audrasjb的in#core。 查看日志 .
7个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
6个月 以前
这张票是在 PR#6289 在 WordPress/WordPress-develop开发 通过 @spacedmonkey(空格键) .
6个月 以前
#55
调用WP_Theme::cache_delete。 在更新主题、编辑文件或删除主题时调用。 全球风格帖子已更新。 切换或预览主题。 像其他主题缓存一样,1800秒后失效。
#56
@
6个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
6个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) 在kt12的核心表现中。 查看日志 .
5个月 以前
@乔麦吉尔 对发表了评论 采购订单号5024 :
5个月 以前
#60
#61
@
5个月 以前
-
关键词 需求-测试 补充
阅读和构建 WP_主题_JSON 对象用于构造和清理 WP_主题_JSON 对象本身。 在衡量任何PR的影响时,我们应该谨慎,不要过分强调基于避免文件操作的性能提升,因为我们已经确定,在大多数情况下,文件读取最终都会缓存在OPcache级别。
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
5个月 以前
5个月 以前
#64
这张票是在 松弛(Slack) 在kt12的核心表现中。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) 在克拉克米利的《核心表现》中。 查看日志 .
5个月 以前
这张票是在 松弛(Slack) 在kt12的核心表现中。 查看日志 .
4个月 以前
#70
@
4个月 以前
#71
@
4个月 以前
这张票是在 松弛(Slack) 在kt12的核心表现中。 查看日志 .
4个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
4个月 以前
这张票是在 松弛(Slack) 乔麦吉尔的核心表现。 查看日志 .
4个月 以前
#75
@
4个月 以前
-
里程碑 已从更改 6.6 到 6.7
这张票是在 松弛(Slack) 在克拉克米利的《核心表现》中。 查看日志 .
4个月 以前
@第12章 对发表了评论 采购订单号6781 :
3个月 以前
#78
@第12章 对发表了评论 采购订单号6781 :
3个月 以前
#79
我在过滤器之前创建了一个缓存,所以我甚至可以在缓存版本中添加过滤器。 删除了所有其他静态变量。 我保持了通常的有效期,最低为10分钟。 我的主要目标是对所有缓存进行一次数据库调用,而不是多个具有不同到期日的数据库调用。
这张票是在 松弛(Slack) 在kt12的核心表现中。 查看日志 .
3个月 以前
这张票是在 松弛(Slack) mukeshpanchal27的核心表现。 查看日志 .
3个月 以前
3个月 以前
#82
@斯特拉斯托弗 对发表了评论 采购订单号6781 :
3个月 以前
#83