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

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

1年前 (2024-08-25)admin网络科技69

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

尽早觉醒:找到自己一人能做的互联网生意

尽早觉醒:找到自己一人能做的互联网生意

没有经历过裁员的职场是不完美的。无论何种原因经历次裁员,可能对心智都是一次提升,前面也写过技术人怎么利用空窗期的文章技术人的空窗期,你的涅槃重生。经历过裁员的时候难免感到复杂和沉重。离开的背后,不仅有情感的波动,还有对未来的深深焦虑。当你被通知离职的那一刻,情绪复杂得难以描述。但是,当冷静下来,你会...

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

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

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

WordPress标签实现追加自定义链接

WordPress标签实现追加自定义链接

WordPress 标签的用处说多不多,说少不少,其中利用 WordPress 标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于 WordPress 标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实现给...

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

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

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

最新免费可用!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...

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

本篇文章目录|Table of Contents Hide Final Cut Pro X 提取音频给音频编辑X2Pro Audi...

发表评论

访客

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