A-A+

ecshop2.7.3自动清理缓存的方法

2015年09月23日 PHP开源系统 评论 1 条 阅读 140 views 次

ecshop 使用的是 smarty 框架模板,有其较好的缓存模式,对于提升网站速度和减轻服务器的压力有较大的帮助,但如果网站的浏览量较大,缓存文件就会增多,会严重影响网站的打开速度,但是如果一旦把缓存模式直接关闭,打开的速度恐怕就更慢了,夏日博客教大家一个解决的方法,就是定时的清除缓存文件,这样即可以使用 smarty 优秀框架的缓存模式,又可以不关闭掉缓存,只是在一定时间进行自动清理。

首先运行一下如下 sql 语句:

  1. INSERT INTO `ecs_shop_config` VALUES (65535, 10, 'last_clear_time', 'text', '', '', '1274090777', 1);  

注意表前缀,sql 语句当中的 65535 的值是可以更改的,但是不建议少于 1000,否则的话可能会被其它值产生影响,好了,下面我们找到 includes/init.php 文件,在文件的最后添加如下的代码:

  1. if (is_temps())  
  2.   
  3.   
  4. {  
  5.   
  6.     clear_all_files();  
  7.   
  8.     $sql="update ".$ecs->table('shop_config') ."set value=".time()." where code='"."last_clear_time '";  
  9.   
  10.      $db->query($sql);  
  11.   
  12. }  
  13.   
  14.   
  15. function is_temps()  
  16.   
  17. {  
  18.   
  19.     if(time()-$_CFG['last_clear_time']<10000)  
  20.   
  21.     {  
  22.   
  23.         return(false);  
  24.   
  25.     }  
  26.   
  27.     else  
  28.   
  29.     {  
  30.   
  31.         return(true);  
  32.   
  33.     }  
  34.   
  35.    
  36.   
  37. }  

代码中的 1000 为自动更新的间隔时间,单位为秒,这个可以由我们根据自己站点的实际情况进行更改操作。

标签:

1 条留言  访客:1 条  博主:0 条

  1. 纪涛博客

    感觉ecshop蛮棒的。

给我留言