红穆笔记
首頁 程序筆記 帝國cms400萬文章首頁高效率調用代碼
程序筆記 帝國cms

帝國cms400萬文章首頁高效率調用代碼

帝国cms400万文章首页高效率调用代码

由於我服務器配置比較差,所以利用sql的rand()來隨機肯定不行,太慢了,所以我轉換思路,先建張表,字段分兩個,一個是文章id一個欄目id,再通過這個表來進行區域性隨機,這樣就可以把隨機高效率實現了,但是這樣有個問題,用sql不靠譜,所以我寫了一個PHP代碼,經過測試,首頁能在兩秒內加載出來,但是老是隨機不好,所以我又用了我的緩存插件來對頁面進行固定....這都是後事了

<?php
$file_cache = "./news.json";
//緩存整個news表的數據
if(!file_exists($file_cache) || time()-filemtime($file_cache)>86400){
    //查詢分類
    $hm_class=$empire->query("select classid from {$dbtbpre}enewsclass");   
    while($hm_r=$empire->fetch($hm_class))
    {
        //查詢分類下面的所有id
        $hm_news=$empire->query("SELECT id FROM `{$dbtbpre}ecms_news` WHERE `classid` = {$hm_r[classid]}");   
        while($hm_nr=$empire->fetch($hm_news))
        {
            $news_data[$hm_r['classid']][] = $hm_nr[id];
        }
    }
    file_put_contents($file_cache,json_encode($news_data));
}
//獲取緩存數據表
$file_arrs = json_decode(file_get_contents($file_cache),true);
//根據數據表獲取id
foreach($file_arrs as $k=>$v){
    //增加變量
    for ($rani=1; $rani<=30; $rani++){
        $rand_id.= $v[mt_rand(0,count($v)-1)].",";    
    }
    $rand_id = rtrim($rand_id,",");
    $rand_data[] = $rand_id;
    $rand_id = "";
    $rani=1;
}
?>

寫了兩天,想來想去,最後測試了很久,才寫成這樣,如果服務器配置還是太小了,可以嘗試將緩存文件給切分來調用,當然,這就需要你們再次而開了。
代碼使用,先在首頁模板最上面把PHP代碼放上去,接下來就可以直接萬能標籤調用了

[ecmsinfo]1,20,32,1,0,13,0,"id in ($rand_data[0])"[/ecmsinfo]
[ecmsinfo]2,20,32,1,0,13,0,"id in ($rand_data[1])"[/ecmsinfo]
[ecmsinfo]3,20,32,1,0,13,0,"id in ($rand_data[2])"[/ecmsinfo]

比如這樣調用,不懂PHP的,就先了解一下PHP語法先。可以找我改進代碼哦!

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

帝国CMS数据库语句&amp;SQL语句格式

帝國CMS數據庫語句&amp;SQL語句格式 程序筆記 帝國cms

帝國CMS擴展SQL程序編寫介紹,帝國CMS數據庫語句&SQL語句格式基本範例:說明:下面例子都是以PHP文件放在系統根目錄爲基準。例1:連接MYSQL程序。(a.php)&lt;?php require('e/class/connect.php'); //引入數據庫配置文件和公共函數文件 requ…
👁 351
帝国CMS获取系统COOKIE变量函数getcvar()

帝國CMS獲取系統COOKIE變量函數getcvar() 程序筆記 帝國cms

取得系統COOKIE變量函數語法:getcvar($var,$ecms)說明:$var:爲變量名$ecms:0爲設置前臺COOKIE變量,1爲設置後臺COOKIE變量。此參數可省略,默認爲0。使用範例:getcvar('mlusername'),取得前臺登陸會員的用戶名getcvar('loginu…
👁 296
帝国CMS灵动标签调用字段大全

帝國CMS靈動標籤調用字段大全 程序筆記 帝國cms

將所有支持靈動標籤調用的字段收集歸類帝國CMS靈動標籤: [e:loop={欄目ID/專題ID,顯示條數,操作類型,只顯示有標題圖片,附加SQL條件,顯示排序}] 模板代碼內容 [/e:loop]調用時間:&lt;?=date('m-d',$bqr[newstime])?&gt; &lt;?=dat…
👁 3749

推薦閱讀

点胶机热熔机网站模板 0676

點膠機熱熔機網站模板 0676 實用收藏 易優模板

一款針對點膠機與熱熔機行業的eyoucms網站模板。設計風格專業工業,能夠展示點膠機產品、熱熔機設備、技術參數及工業應用。有助於機械設備企業在線上展示產品,吸引電子與工業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易…
👁 50
工程机械铲土运输机械类网站模板 0677

工程機械剷土運輸機械類網站模板 0677 實用收藏 易優模板

此套eyoucms模板適用於工程機械剷土與運輸機械類行業,設計風格黃色專業,能夠展示剷土運輸機械設備、工程車輛、技術參數及施工案例。有助於工程機械企業在線上展示產品,吸引基建與礦山客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見…
👁 58
响应式给水管道门阀网站模板 0678

響應式給水管道門閥網站模板 0678 實用收藏 易優模板

一款針對給水管道與門閥行業的eyoucms響應式網站模板。設計風格專業工業,能夠展示管道產品、門閥系列、技術參數及工程應用。有助於管道閥門企業在線上展示產品,吸引建築與工業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結…
👁 29
资源网站typecho001模板

資源網站typecho001模板 程序筆記 Typecho

typecho001模板板本請勿修改本模板文件夾名稱 文件夾名稱爲:typecho001 1.4修復文章頁面js輸出問題1.3修復未安裝插件時的報錯提示優化列表頁代碼輸出1.2修復評論功能增加自定義首頁標題1.1修復評論回覆不對稱功能添加首頁單獨的標題設置功能增加網站favicon.ico圖標增加一…
👁 199
全液压双驱挖掘机压路机类网站模板 0679

全液壓雙驅挖掘機壓路機類網站模板 0679 實用收藏 易優模板

此套eyoucms模板適用於全液壓雙驅挖掘機與壓路機類行業,設計風格黃色專業,能夠展示挖掘機壓路機產品、工程機械設備、技術參數及施工案例。有助於工程機械企業在線上展示產品,吸引基建與礦山客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安…
👁 56
typecho分页样式的修改

typecho分頁樣式的修改 程序筆記 Typecho

大人,時代變了!目前typecho最完美的解決方案了,因爲百度只能看到固定思維的代碼。實際生成的html代碼,乾淨到讓人窒息完全的自定義,包括給li元素加上class,給a元素加上class,給上一頁下一頁加上class,去除typecho自帶用於表示更多的li標籤。甚至裏面的內容我也能添加一些文字…
👁 517