预计于 2022 年 11 月发布的 WordPress 6.1 将通过新的查询缓存技术实现“对数据库性能的巨大改进”。这项新功能有望让WordPress网站运行更快,具体的缓存改进是对查询后缓存的改进。
大规模改进
根据参与该项目的 WordPress 核心贡献者的说法,缓存功能将带来显着的改进。
核心贡献者在推特上写道:
“在 WordPress 6.1 中,数据库性能有了巨大的提升。
WP_Query 中的数据库查询现在被缓存。这应该会减少数十亿次重复的数据库查询”
还公开了一份开发说明草案,其中包含有关缓存的更多信息:
“WordPress 6.1 改进了在 ‘WP_Query’ 类中执行数据库查询的方式,以便将数据库查询的结果缓存在对象缓存中。
这意味着如果多次运行同一个数据库查询,结果将从缓存中加载。
对于那些使用持久对象缓存的人来说,这意味着在缓存失效之前,数据库查询将不会再次运行,从而导致对数据库的查询非常少。”
有网友提问:
“6.0不是已经有了改进吗?有了这个,因此,我们在大型woo-store上遇到了重大问题:当只检查子类别,而不是顶级(父)类别时,存档页面上的类别会消失。 对有更多上下文的笔记感到好奇”
WordPress 核心开发者回应:
“我们一直在提高数据库性能。6.0中对术语查询缓存进行了改进。这是查询后缓存。相关但不相同。该问题已在6.0.1中得到修补。我自己修补的。”
WordPress数据库和查询
WordPress将网站的不同部分存储在一个数据库中。
数据库包含组织成表格的站点信息。
例如,网页帖子的所有内容都存储在一个表格中。
当有人访问一个网页时,WordPress会“查询”数据库,在数据库中搜索并找到该网页的内容。
WordPress为每个被请求的网页对数据库进行多次查询,并为每个网站访问者进行查询。
因此,当它每分钟发生数千次时,会成为服务器上的沉重负载,导致数据库性能降低,进而降低整个站点的速度。
有了这个新的数据库缓存特性,它不再进行数据库查询,而是首先检查它要找的东西是否在缓存中,并从缓存中提取信息。
这类似于点一份午餐订单,而不是等着午餐做好,接订单的人会把手伸到柜台下面,马上把它拿出来。
但这并不罕见,因为每个版本都包含数百项改进,最重要的通常会在正式发布当天强调。