WordPress6.0 版本缓存功能改进,完善缓存批量操作方法

2022-05-2809:48:58网站建设与开发Comments1,284 views字数 1488阅读模式

WordPress 昨天发布了 6.0 版本,主要是改进了古腾堡编辑器和全站编辑的能力,当然也有性能方面的提升,我们今天开始就讲讲一些具体改进的地方,今天介绍一下 WordPress 6.0 缓存功能的改进。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

WordPress 完善缓存批量操作方法

我们知道 Memcached 等缓存服务都支持一次请求获取多个数据,这样意味着无须多次连接外部对象缓存服务,可以显著的提升网站的效率。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

WordPress6.0 版本缓存功能改进,完善缓存批量操作方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

WordPress 在 5.5 版本的时候,就引入了wp_cache_get_multiple()函数,实现一次缓存调用就可以批量获取一组缓存。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

Memcached 也支持一次请求设置多个数据,以及一次请求也可以删除多个缓存数据,所以 WordPress 6.0 版本完善了缓存的批量操作方法,通过实现了下面这三个函数支持完整的缓存的批量的 CRUD 操作,这样就可以一次缓存调用就能创建、编辑和删除多个缓存对象:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

  • wp_cache_add_multiple
  • wp_cache_set_multiple
  • wp_cache_delete_multiple

下面分别简单介绍一下这三个函数:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

wp_cache_add_multiple( $data, $group = '', $expire = 0 )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

  • $data: 要添加到缓存中的键值对数组。
  • $group: 可选, 缓存的组名,默认为空字符串
  • $expire: 可选,多少秒后过期,单位为秒,默认为0,即永不过期。
wp_cache_add_multiple( ['foo1' => 'value1', 'foo2' => 'value2'], 'group1' );

wp_cache_set_multiple( $data, $group = '', $expire = 0 )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

$data: 要设置到缓存中的键值对数组。
$group: 可选, 缓存的组名,默认为空字符串
$expire: 可选,多少秒后过期,单位为秒,默认为0,即永不过期。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

wp_cache_set_multiple( ['foo1' => 'value1', 'foo2' => 'value2'], 'group1' );

wp_cache_delete_multiple( $keys, $group = '' )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

$keys: 缓存中要被删除的键名数组。
$group: 可选, 缓存的组名,默认为空字符串文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

wp_cache_delete_multiple( ['foo1', 'foo2'], 'group1' );

object-cache.php 实现

这三个函数是需要插件开发者在 object-cache.php 中去实现,没有的话,WordPress 6.0 会兼容处理,就是循环调用 wp_cache_add()wp_cache_set() 和  wp_cache_delete() 中来处理,但是这样就完全无法体现 Memcached 的高效率。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

新版的 WPJAM Basic 中内置的 object-cache.php 已经实现 wp_cache_set_multiple() 和 wp_cache_delete_multiple() 函数,因为Memcached 没有批量添加的接口, 所以 wp_cache_add_multi() 就没有实现,让 WordPress 使用默认的循环调用 wp_cache_add() 实现即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

下载 WPJAM Basic 之后,需要重新将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下,这样才可以实现一次缓存调用就能创建、编辑和删除多个缓存对象,提高站点的效率。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

来源:牛逼闪闪的Denis WordPress果酱文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23993.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/23993.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定