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