WordPress 6.0 中的缓存改进

作为 WordPress 6.0 发布的一部分,新的性能团队一直致力于对核心性能改进。现在,WordPress 缓存API有一些新增功能。

缓存操作的批处理 API 方法 ( wp_cache_*_multiple)

wp_cache_get_multiple()功能是在 WordPress 5.5 中添加的。这允许在一个请求中收集多个缓存键。为了完成这个 API,需要一个完整的CRUD,并通过以下函数添加:

  • wp_cache_add_multiple
  • wp_cache_set_multiple
  • wp_cache_delete_multiple

所有这些函数都接受要传递的数据数组,以便可以在单个缓存调用中创建、编辑或删除多个缓存对象。

在 WordPress 核心中,这些只是核心函数的包装器,允许在一个函数调用中传递多个键,但这也允许对象缓存插件开发人员在后端支持的情况下实现它们。

wp_cache_add_multiple( $data, $group = '', $expire = 0 ) 的用法示例

  • $data:要添加的键值对数组。
  • $group: 可选,字符串。缓存内容的分组位置。默认 ”。
  • $expire: 可选,整数。缓存何时到期(以秒为单位)。默认 0(无过期)。
wp_cache_add_multiple( array( 'foo1' => 'value1', 'foo2' => 'value2' ), 'group1' );

wp_cache_delete_multiple( $data, $group = '' ) 的用法示例

  • $data:要删除的键数组。
  • $group: 可选,字符串。缓存内容的分组位置。默认 ”。
wp_cache_delete_multiple( array( 'foo1', 'foo2' ), 'group1' );

wp_cache_set_multiple( $data, $group = '', $expire = 0 ) 的用法示例

  • $data:要设置的键值对数组。
  • $group: 可选,字符串。缓存内容的分组位置。默认 ”。
  • $expire: 可选,整数。缓存何时到期(以秒为单位)。默认 0(无过期)。
wp_cache_set_multiple( array( 'foo1' => 'value1', 'foo2' => 'value2' ), 'group1' );

通过这些添加,已经进行了一些额外的核心重构以利用这些新功能。请参阅Trac #55029中的更多详细信息。

允许刷新运行时间缓存 ( wp_cache_flush_runtime)

正如性能问题#81和 Trac #55080中所讨论的,WordPress核心需要一种方法来允许用户刷新运行时间 runtime (内存中)缓存而不刷新整个持久缓存。

在运行长时间需要运行的进程(如 Action Scheduler 或WP-CLI )的情况下,经常需要此功能。

 wp_cache_flush_runtime()的用法示例

$counter = 0;
foreach ( $posts as $post ) {
    wp_insert_post( $post );
    if ( 100 === $counter ) {
        wp_cache_flush_runtime();
        $counter = 0;
    } 
    $counter++;
}

上面的示例会在将 100 个文章插入数据库后重置运行时间缓存。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《WordPress 6.0 中的缓存改进》
文章链接:https://www.czax.com.cn/871.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 生成海报

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

登录

忘记密码 ?

微信扫一扫关注
扫码关注后会自动登录网站