因为DeDeCMS有缓存机制,有些比较费时的SQl查询会在数据库中缓存,所以集中发布文章时,在后台的文章列表页的页码会过了缓存周期才能正确显示,解决的办法是:
打开dede\contont_lisp.php文件,通过查找找到 $arr = GetCache('listcache', $cachekey); 代码如下:
// 缓存处理
$sql = "SELECT COUNT(*) AS dd FROM `dede_arctiny` $tinyQuery ";
$cachekey = md5($sql);
$arr = GetCache('listcache', $cachekey);//这是从缓存里面取结果,如果没有缓存,则生成缓存
if (empty($arr))
{
$arr = $dsql->GetOne($sql);
SetCache('listcache', $cachekey, $arr);//设置缓存
}
$totalresult = $arr['dd'];
把上面的代码注释一部分,改成下面的:
$sql = "SELECT COUNT(*) AS dd FROM `dede_arctiny` $tinyQuery ";
$arr = $dsql->GetOne($sql);
$totalresult = $arr['dd'];
就不会再缓存了,显示实时的结果。