zblogphp插件:随机文章开发版插件下载

zblogphp插件:随机文章开发版插件下载-第1张-菜鸟博客

之前写过一篇关于随机文章的优化版,基于功能简陋,达不到理想效果,特别是网站数万级别的用户。

所以插件由此诞生

大家都知道倘若几万几十的文章,如果不翻页到最后很难展现到用户面前。

怎么办?zblog随机文章就可以很好的优化这一步。

为什么不直接用rand来操作,

$array = $zbp->GetArticleList(array('*'),$where,array('rand()'=>' '),array($numm),'');
//可能或多或少的人还是使用这样的方法

因为文章数据量大会增加数据库读取速度从而导致网站加载变慢。

zblogphp插件:随机文章开发版插件下载-第2张-菜鸟博客

zblogphp插件:随机文章开发版插件下载-第3张-菜鸟博客

我这个人比较懒,从不喜欢折腾数据库(为什么?因为要是一不小心导致删库了怎么办,开个玩笑。)

更多的我也不想多说什么。百度一下,并没有一个是真正解决问题的好方案。为什么你的zblog网站会变慢不是没有原因的。

为什么叫开发版?因为这是一个需要一定修改主题能力方可使用的插件。

为什么不直接是应用版?因为不同的主题侧栏样式等等是不一样的。不做统一标准,只提供随机数组。

随机文章插件实现原理是什么?

插件实现原理

首先从你的数据库读取文章数据,将文章ID安照一定的数量(默认5000)分成多个数组分别存入txt文档。(这一步是后台生成)

然后随机读取文档的txt文件,获得ID数组再从数组中随机取出指定数量(如10)子值集,根据ID获取文章

从而减少对数据库的读取。

新建更新或删除文章后是否需要重新生成?不需要,更新删除文章后会在后台自动更新数据文档。

为什么插件这么小?会不会是偷工减料?插件本身运用的函数并不多,能减则减。所挂接口也是只有三个,其中两个还是后台接口(作用于发布更新文章的时候更新数组文件),所以确切的说只有一个定义标签的函数接口

目的就是减少插件本身运行脚本。达到优化速度理想效果。

为什么这次直接是插件而不是贴代码教程?因为可能或多或少的朋友对代码并不在意,更多的是目的和最终结果,还有提供插件的好处,其他主题等可直接套用。

V1.1

1,取消使用GetPost()方法,{$randArticle}直接循环使用即可,提升速度;

zblogphp插件:随机文章开发版插件下载-第4张-菜鸟博客

{php}
foreach ($randArticle as $related){
  echo '<li><a href="'.$related->Url.'">'.$related->Title.'</a></li>';
}
{/php}

或者

{foreach $randArticle as $related}
<li><a href="{$related.Url}">{$related.Title}</a></li>
{/foreach}	

//代码详解:$randArticle是插件生成的随机文章数组,更多参数说明请参考文章标签如文章浏览数{$related.ViewNums}

zblog应用中心下载地址:https://app.zblogcn.com/?id=8824

猜你喜欢

评论列表

蜡笔小心

为什么不直接把URL标题等直接存入txt,然后读取文件直接获取文章信息?

菜鸟博客

考虑到用户更多的个性需求比如引用简介引用缩略图等等,所以只存入ID键值,10,20几十篇的GetPost()问题不大。

发表评论