emlog程序生成读取缓存方式调用文章列表,使用读取缓存方式调用可以大大提高页面加载速度,这样就不用每次打开页面都读取数据库,从而提高emlog程度页面加载速度;使用生成读取缓存方式调用文章列表代码,会自动在content/cache/目录下生成设置的缓存php文件,如果需要更新缓存,只需要删除对应的缓存php文件即可;在需要的模版文件里写上调用代码,调用分类、数量、缓存文件名均可自定义设置,例如下方调用代码中,123为多个分类ID号,20为列表数量,listcache为缓存文件名,如果分类留空,则调用最新文章,列表留空默认为10个,缓存文件名留空默认为listcache。
下方代码复制到模版文件夹module.php文件里
<?php
//读取文章列表写入缓存
function lanye_Listcache($sortid = 0, $lognum = '10', $cachename = 'listcache'){
global $CACHE;
$db = Database::getInstance();
if($sortid){$query = "and sortid in ($sortid)";}else{$query = '';}
$sql = "select * from ".DB_PREFIX."blog WHERE type='blog' and hide='n' and checked='y' $query ORDER BY `date` DESC LIMIT 0,$lognum";
$listcache = @$CACHE->readCache($cachename);
if(empty($listcache)){$list = $db->query($sql);$listcache = array();while($row = $db->fetch_array($list)):$listcache[] = $row;?>
<li><a href="<?php echo Url::log($row['gid']);?>" rel="external nofollow" rel="external nofollow" title="<?php echo $row['title'];?>" target="_blank"><?php echo $row['title'];?></a></li>
<?php endwhile;$cacheData = serialize($listcache);$CACHE->cacheWrite($cacheData, $cachename);}else{?>
<?php foreach($listcache as $row):?>
<li><a href="<?php echo Url::log($row['gid']);?>" rel="external nofollow" rel="external nofollow" title="<?php echo $row['title'];?>" target="_blank"><?php echo $row['title'];?></a></li>
<?php endforeach;}}?>
调用代码
<?php lanye_Listcache('1,2,3','20','listcache');?>