站点地图插件(wpsitemap)是怎么做到支持百万文章定时任务刷新的
站点地图插件的定时任务可以支持百万文章自动刷新,这是怎么做到的?我们通过一个简单的技术说明来向大家介绍一下其中的细节。
技术难点
先说一说巨量文章站自动生成站点地图的难点。比如有一百万的文章,每次生成地图需要取出这一百万的数量,绝大部分主机配置都装不下这个数据量(一次访问可能需要几个G到数十G的内存),就算能装下,需要的时间也是一个不能接受的时间(可能是几分钟到几十分钟)。
因此我一直没有推出内置的定时任务自动更新地图,原因就是资源消耗太大,超出绝大部分人的主机配置,不可行!
技术方案
但作为一个地图插件,支持自动更新是一个必要的功能!如果手动更新,那么使用起来就麻烦了。那我们是如何做的呢?其实原理并不复杂,那就是大家熟知的分治法!任务巨大,那我们就分而治之,用时间换空间。定时任务每次只会执行全部任务的一小部分,最终就可以自动更新所有的站点地图。
比如我们生成的地图中有100页,分别是post-1,post-2,post-3…,那么每次定时任务会依次生成post-1,post-2,post-3…,生成完整之后又会从头开始,循环执行,最终达到执行完整定时任务的目的。
下载站点地图

无样式速度快,WordPress内置样式美观自定义页面优先级支持首页、分类页、标签页、文章页、页面页、作者页优先级设置自定义更新频率字段支持首页、分类页、标签页、文章页、页面页、作者页更新频率字段后台一键刷新整站地图支持
你可能还喜欢下面这些文章

功能超强,页面美观的wordpress多本小说主题,一个能给你带来超额收入的主题!主题拥有为小说优化的阅读页面,和普通的页面分开。主题内置sitemap站点地图生成,支持巨量章节生成!

主题 Modules/Common/Post.php 467 行isset($post->ID)) return ”; return get_wpac_thumbnail($post_id);