下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国CMS怎样高效快速的做猜你喜欢的随机调用功能?

362 2021-03-05 14:28:02

收藏
帝国CMS虽然性能强悍,也要建立在一个合理开发的基础上。就如很多网站都有的猜你喜欢小功能来说,如果直接用rand()调用随机ID是非常消耗性能的。小网站几百几千条数据感觉还不明显,但数据量只要达到几万,光一个rand()函数导致的性能消耗将至少增加300%以上。此时帝国性能再强悍也无力回天。轻则卡顿,重则卡死。

那么,帝国CMS要怎样做一个高效的ID随机调用呢?

实现思路如下:
1、获取最大随机ID
2、设定最小与最大ID之间为随机区域,生成随机ID
3、调用随机ID值的信息
 

生成随机ID

​​​​<?php
    $r=$empire->fetch1("select id from {$dbtbpre}ecms_news_index where classid = $GLOBALS[navclassid] order by id desc limit 1");
    $maxnum=$r[id];
    $randnum=10;
    $randids='';
    $randmark='';
    for($i=1;$i<=$randnum;$i++)
    {
        $randids.=$randmark.rand(1,$maxnum);
        $randmark=',';
    }
?>
 

调用随机信息

最终的随机ID就是$randids,此时执行调用命令即可,参考如下。
[e:loop={"SELECT titleurl,title from [!db.pre!]ecms_news where id in ($randids) LIMIT 4",10,24,0}]
    <li>
        <a href="<?=$bqr[titleurl]?>"><?=$bqr[title]?></a>
    </li>
[/e:loop]

这样做出来的猜你喜欢小功能才不会过多的消耗服务器性能能。
 

帝国cms随机调用升级版

上方教程来自网络,流传甚广。其性能虽然不错,但在实际应用中会出现各种各样的问题:因为id就是取了一个彻底的随机数,那真的是随机调用了。调用到什么,全看运气,完全不可控。因此,下载鸥开发出了升级版本的随机调用。可参考本文:帝国cms怎样高效调用当前栏目推荐信息随机展示

下载鸥升级版的随机数方案,可随机调用指定数据。不管你是指定栏目、指定推荐、指定头条、指定置顶,都是没有问题的。

本文地址:https://xzo.com.cn/develop/empire/661.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
织梦CMS与帝国CMS有什么不同?
织梦CMS与帝国CMS有什么不同?

织梦是我用过的第二个CMS,也是最喜欢的CMS之一。他最大的优点有二:1、功能十...

15 923
帝国CMS点击指定图片放大功能怎么做(jQuery)
帝国CMS点击指定图片放大功能怎么做(jQuery)

对于存在大图的站点而言,不能将图片放大无疑是一种功能上的缺陷。那么,帝国CM...

8 1268
帝国CMS新手入门用万能标签还是灵动标签比较快?
帝国CMS新手入门用万能标签还是灵动标签比较快?

帝国CMS有两大标签,其中一个叫万能标签,另一个叫灵动标签,两个标签用法截然不...

1 386
帝国CMS文章配图怎样设置自动添加水印?
帝国CMS文章配图怎样设置自动添加水印?

现在采集网站非常多,不止采集内容,还采集图片,还不标注出处,非常可恶。那么,帝国...

1 384
帝国cms没有标题图时怎样调用随机图片做缩略图?
帝国cms没有标题图时怎样调用随机图片做缩略图?

如果调用同一张图片,在大量图片缺失的情况下又十分难看。所以今天,鸥哥给大家...

1 377
帝国cms动态页、静态页、伪静态页有什么区别?
帝国cms动态页、静态页、伪静态页有什么区别?

我们知道,帝国cms既可以做动态页,也可以做静态页,还可以做伪静态页。那么,他们...

0 312
帝国cms把自己ip禁止访问了怎么办?
帝国cms把自己ip禁止访问了怎么办?

帝国cms有禁止ip访问的功能,但如果不小心禁止了自己的ip,或是操作失误导致所...

0 598
帝国cms根据关键词调用相关文章,每个关键词调用4条
帝国cms根据关键词调用相关文章,每个关键词调用4条

帝国cms根据关键词调用相关文章,每个关键词调用信息不超过4条,如果关键词和栏...

8 365
随机帝国CMS开发教程
帝国CMS首页、列表页实现点赞功能解析与demo
帝国CMS首页、列表页实现点赞功能解析与demo

帝国cms的点赞数是通过动态脚本载入的方式实时输出,而a标签上的makeRequest(...

1 312
帝国cms的fetch()和fetch1()有什么区别?
帝国cms的fetch()和fetch1()有什么区别?

fetch()和fetch1()是帝国CMS二次开发常用到的函数,虽然只差了一个1,但其函数...

7 511
帝国cms后台出现“您还未登录”错误怎么办
帝国cms后台出现“您还未登录”错误怎么办

帝国cms测试多次,绝对是正确的用户名和密码登录,但还是显示您还未登录的原因...

3 354
帝国cms文章列表、详情怎样实时显示点击数?
帝国cms文章列表、详情怎样实时显示点击数?

常有客户要求文章列表、详情能够实时显示点击数,但又不想将静态页面改为动态...

6 438
帝国CMS 8.0版本即将上线,届时不再支持GBK、BIG5编码
帝国CMS 8.0版本即将上线,届时不再支持GBK、BIG5编码

3月1日上午10点,帝国cms创始人王猛发布微博称8.0版本不再支持gbk、big5编码...

8 543
帝国CMS灵动标签调用留言板信息(附留言板字段解读)
帝国CMS灵动标签调用留言板信息(附留言板字段解读)

帝国cms调用留言板信息是可以调用到任意位置的,灵动标签即可办到。通过通配...

10 520
帝国cms怎样开发下载分成功能?
帝国cms怎样开发下载分成功能?

帝国CMS下载分成网上有很多插件,但操作起来都相对比较复杂,且免费插件存在安...

17 533
帝国cms登陆报错INSERT command denied to user 'username'@'::1' for table 'phome_enewsloginfail' inser
帝国cms登陆报错INSERT command denied to user 'username'@'::1' for table 'phome_enewsloginfail' inser

今天,有客户联系鸥哥说帝国cms登陆后台报错INSERT command denied to user ...

3 558
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入