分享个小知识,帝国CMS评论分表新评论更新缓存

查看 68|回复 13
作者:美文苑文学网   
分享个小知识,帝国CMS评论分表新评论更新缓存?小编一memcached缓存做例子。为了方便复用我们定义两个函数,一个函数能生成key键值名与SQL的数组。另外一个就不用多说了哈,很明显就是新的评论删除这个key键值名就可以了。
[ol]
  • //生成评论分表缓存信息(缓存键值名+拼接SQL语句)
  • function getPlCacheKey($pldatatbs, $pubid, $order = '') {
  • global $dbtbpre, $public_r;
  • $biaoship = $public_r['add_pcurl'] ?: 'meiweny';
  • $biaoshi = str_replace(['http://','https://','/','www.','.'], "", $biaoship);
  • $fenbiaopl = explode(',', $pldatatbs);
  • $unionQuery = '';
  • for ($i = 1; $i  $cacheKey,'sql' => $finalSql];
  • }[/ol]复制代码[ol]
  • //删除评论分表缓存
  • function deletePlCache($cacheKey) {
  • global $memcache;
  • if ($memcache === null) {
  • echo "Error: Memcache实例为空!";
  • return false;
  • }
  • return $memcache->delete($cacheKey);
  • }[/ol]复制代码不用讲,这两个东西还是放在/e/class/userfun.php里面哈。接下来我们就在评论发布成功那个文件plfun.php加上如下语句(ecmsEmptyShowKey($keyvname);//清空验证码)下面增加
    [ol]
  • $hcpagenum = isset($_POST['hcpagenum']) ? (int)$_POST['hcpagenum'] : $public_r['pl_num'];
  • $hcorder = ' order by plid desc  limit 0,'.$hcpagenum;
  • $hcResult = getPlCacheKey($plsetr['pldatatbs'], $pubid, $hcorder);
  • deletePlCache($hcResult['key']);[/ol]复制代码接下来就是多表读取的index.php,($order=" order by ".$addorder."  limit $offset,$line";)下面增加
    [ol]
  • $plsqlarray = getPlCacheKey($plr['pldatatbs'], $pubid, $order);
  • $plSql = $plsqlarray['sql'];[/ol]复制代码至此,完美实现了帝国CMS评论分表新有新的评论更新缓存

    缓存, 帝国

  • 罗伯特   
    很好的分享   
    吕公子   
    很好的分享  
    路畅域名   
    学习了学习了
    致远网络   
    很好的分享
    sldss   
    很好的分享
    林ling   
    很好的分享
    马铃薯   
    很好的分享
    阿狸先森   
    不明觉厉,学习一下
    散落漫天   
    都不开评论
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部