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

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

451 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后台信息列表标题文字字数默认是被控制过的,超出一行会截断,一些相对...

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

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

8 644
帝国CMS留言板怎样增加字段?
帝国CMS留言板怎样增加字段?

网站留言板是用户留存的重要环节,但帝国cms自带的留言板功能十分单一,大多数...

1 383
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题

今天记录的问题简直匪夷所思,是帝国cms伪静态站点改成静态站点,点击清除缓存...

1 405
帝国cms怎样判断一个栏目有没有子栏目?(父栏目换位判断原创方案)
帝国cms怎样判断一个栏目有没有子栏目?(父栏目换位判断原创方案)

在帝国cms站点的开发过程中,有时候需要判断栏目有没有下级栏目,如果有子栏目,...

3 416
帝国cms开发中英文双语站点怎样让上一页下一页变成英文?
帝国cms开发中英文双语站点怎样让上一页下一页变成英文?

在企业站点建设过程中,我们常需要用到中英文双语。但模板尚且好说,分页的文字...

0 809
帝国cms灵动标签日期用英文显示的方法
帝国cms灵动标签日期用英文显示的方法

我们知道,帝国cms的日期可以根据需要调用问多种格式,如x年x月x日、年-月-日、...

0 362
帝国cms网站宝塔面板忘记登陆地址了怎么办?
帝国cms网站宝塔面板忘记登陆地址了怎么办?

宝塔面板是一款非常好用的服务器管理软件,但在安装完宝塔后,有些人可能会忘记...

0 405
推荐插件
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1248
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1228
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 374
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 520
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 436
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 695
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 435
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 385
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入