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

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

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

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” 的相关文章

Embracing Minimalism: The Path to a Simpler, More Fulfilling Life

Embracing Minimalism: The Path to a Simpler, More Fulfilling Life

In a world rife with constant distractions and an overwhelming flow of information, Minimalism has emerged as a beacon of simplicity and cla...

Do all remote digital tools require payment?

Do all remote digital tools require payment?

Some of these digital tools require payment, while others offer free versions with additional features available by upgrading to paid versions. Here i...

告别焦虑,技术人的“慢功夫”哲学

告别焦虑,技术人的“慢功夫”哲学

我们现在处一个快节奏的时代,每一个行业都在高速发展,我们也常常被告知要抓住每一个机会,快速成长,迅速成功。但对许多技术人来说,所谓的“快”,有时反而会让我们失去平衡,陷入焦虑和迷茫, 常常又进入事倍功半的困境。之前遇到过一位刚入行不久的年轻技术人,他一脸焦虑地问我:“如果我现在不快点提高,是不是以后...

WordPress如何将管理员用户主页改为网站首页

WordPress如何将管理员用户主页改为网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主题源码的,...

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

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

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

MYSQL字符集有哪些

MYSQL字符集有哪些

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

发表评论

访客

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