当前位置:首页 > 网络科技 > WordPress改进WP_Query性能,推荐安装memcached

WordPress改进WP_Query性能,推荐安装memcached

9个月前 (08-25)admin网络科技25

WordPress 6.1 版本对 WP_Query 类中数据库查询执行方式的优化,改进数据库的查询缓存。简而言之就是如果 WordPress 多次运行同一个数据库查询,结果将从缓存中加载,但前提是服务器安装的缓存插件。对于那些使用持久对象缓存的人来说,这意味着在缓存失效之前数据库查询不会再次运行,从而导致对数据库的查询少得多。

对于那些进行自定义开发的人,请确保您使用的是核心功能,例如 wp_insert_post 向数据库添加帖子。这些函数维护良好,通过使用它们,您可以确保缓存正确失效。如果您直接更新数据库,那么强烈建议您 clean_post_cache 在更新数据库行后调用该函数。

值得注意的是,默认情况下,所有对的调用都 WP_Query 将被缓存。可以通过简单地将 cache_results 参数传递为 来选择退出缓存查询 false。参见示例:

1
2
3
4
5
$args = array(
   'posts_per_page' => 50,
   'cache_results'  => false
);
$query = new WP_Query( $args );

也可以使用过滤器全局禁用缓存:

1
2
3
4
function disable_caching( $wp_query ) {
   $wp_query->query_vars['cache_results'] = false;
}
add_action( 'parse_query', 'disable_caching' );

像这样禁用缓存只应在极端情况下进行。clean_post_cache 为了获得最佳性能,强烈建议使用该函数 保持启用缓存并使缓存无效。

WordPress 6.1 引入了一个新功能,update_post_author_caches. 在 6.1 之前,具有多个作者的站点需要多个单一的数据库查询来获取作者信息,因为用户是作为循环的一部分加载的。update_post_author_caches 用户(作者)缓存现在不是一个一个地加载每个用户,而是通过在循环开始时 调用来在单个数据库调用中准备好,从而大大减少了数据库查询。

这个函数接受一个 post 对象数组,并将准备好用户缓存。update_post_author_caches 代码库的关键部分也添加了对的调用,以提高数据库性能。

WP_Query 是什么?

WP_Query 是一个 PHP 类,用于构造对 WordPress 数据库的查询并返回帖子、页面或其他自定义对象以在页面上呈现。它允许开发人员构建复杂的搜索,同时无需编写单独的 SQL 查询。

WP_Query 提供用于自定义循环的快捷方式和内置函数,循环是在给定页面上显示内容的过程。由于专注于 The Loop,WP_Query 是寻求自定义页面内容和外观的 WordPress 主题开发人员的首选。

为什么需要安装 memcached?

Memcached 是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态 Web 应用。

而 WordPress 想要使用 WP_Query 的高级缓存功能,服务器环境就需要配合安装 memcached 环境,并且还需要给对应的 PHP 安装 memcached 拓展,以及支持 memcached 的“object-cache.php”文件。

配置好 memcached 环境后,将 object-cache.php 文件(下载)放置到 WordPress 的“wp-content”目录中即可。

提示:切记在未安装好 memcached 环境后直接上传 object-cache.php 文件,否则会造成 WordPress 严重变慢的情况。

更多关于WordPress优化及疑问可以添加留言

w.haolusi.com

本文链接:https://w.haolusi.com/wordpress-improvements-wp_query.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1613

标签: WordPress优化
分享给朋友:

“WordPress改进WP_Query性能,推荐安装memcached” 的相关文章

断舍离极简生活:本地闲置群,一个比闲鱼更高效的出闲置渠道

断舍离极简生活:本地闲置群,一个比闲鱼更高效的出闲置渠道

虽然我自称为“卖闲置小能手”,但事实上,还是有一些闲置,对我来说很难出手。比如,材质特殊的罐子、花瓶等物。本身的价值可能也就几十块,卖二手折价后就更低了,寄快递吧,除了顺丰大多数快递都没法邮寄。而顺丰价格又太贵,有时候邮费比东西本身还贵。直接扔了?九新的东西,属实有点可惜。有天去面包店购物,店员告诉...

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

最近可以说是站长们一片哀嚎,清明节前刚经历一次大的波动恢复没两天,让后百度又一次性的在清明节再次送走了,目前又开始缓慢的在恢复,但是似乎情况也并不是很妙。就在这时,百度搜索资源平台发布了一则“关于升级平台「快速收录」工具的通知”的公告,意思就是正式下线快速收录功能,换新上线一个叫做“快速抓取”的工具...

WordPress如何移除登录界面中英文语言切换框

WordPress如何移除登录界面中英文语言切换框

其实早在 WordPress 5.9 版本开始,WordPress 默认登录界面就增加了语言切换选项, 其目的就是允许用户自己选择要使用的语言登录后台。这个功能对于多语言网站或是国际性站点可能还有点用,但是对于国内用户来说就显得有些多余。最近子凡在做更深度的 WordPress 优化,同时也为了丰富...

MYSQL字符集有哪些

MYSQL字符集有哪些

MySQL 中的字符集是用来确定数据库中字符数据的编码方式,它决定了如何存储和检索数据。MySQL 中常用的字符集:UTF8:UTF-8 是一种 Unicode 字符编码方式,它可以表示世界上大部分的文字字符。MySQL 中的 UTF8 字符集最多只能存储 3 字节的 UTF-8 编码字符,...

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

最新可用!2024年Google谷歌镜像,Google学术镜像站(8月更新)

最新可用!2024年Google谷歌镜像,Google学术镜像站(8月更新)

本篇文章目录|Table of Contents Hide Google谷歌镜像-直接访问谷歌搜索01.Google谷歌搜索最新镜像入口02.Go...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。