WordPress 中如何批量获取一组缓存?

类似于 Memcached 等很多缓存服务都支持一次请求获取多个数据,这样意味着无须多次连接外部对象缓存服务,可以显著的提升网站的效率;

wp_cache_get_multiple() 函数

而 WordPress 之前只能通过 wp_cache_get() 函数一次获取单个缓存的值,所以在 WordPress 5.5 新增了 wp_cache_get_multiple() 函数,终于让 WordPress 可以一次连接获取多个缓存 key 对应的值,函数的参数为一组来自同个 group 的缓存 keys 数组,具体使用方法:

wp_cache_get_multiple($ids, $cache_group);

额外说明一下,为什么函数名中使用 multiple 这个字眼呢?因为现有的很多缓存插件已经有了 wp_cache_get_multi() 这样的函数,但是这些函数的参数不一样,为了避免冲突,所以 WordPress 官方就用 wp_cache_get_multiple() 这个函数名;

object-cache.php 实现

这个函数是需要插件开发者在 object-cache.php 中去实现,没有的话,WordPress 只能通过兼容来处理,就是循环调用 wp_cache_get() 来获取这组缓存 keys 的值,这样完全无法体现 Memcached 的高效率;

目前 WordPress 已经在下面这几个函数的内部调用 wp_cache_get_multiple() 来提高程序的效率;

  • update_object_term_cache()
  • update_meta_cache()
  • _get_non_cached_ids()

新版的 WPJAM Basic 中内置的 object-cache.php 已经实现了 wp_cache_get_multi() 函数,更新新版之后,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件重新复制到 wp-content 目录下即可;




版权声明:
作者:云小叔-高级程序员
链接:http://liboven.cn/382.html
来源:微芯引擎 秒加载 快如闪电
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录