Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] 漫游应用导航加载缓慢解决方案

[复制链接]
kack 发表于 2014-3-28 23:58:26 | 显示全部楼层 |阅读模式
本帖最后由 kack 于 2014-3-29 21:57 编辑



相信大家都尝试过加载漫游应用导航时,用时非常长,有时达到10多秒,严重影响用户体验

通过分析发现,最影响速度的是 向漫游服务器请求应用推荐列表(由网站服务端发出请求),有时还无法连接,那有什么解决方法?可以把这列表缓存下来吗?欲知答案,请往下看。

找到 source/module/misc/misc_manyou.php ,修改如下(因为我也不知道修改前是什么样子了),严重声明,修改前需备份,且不能备份在自己的网站目录中,更且本人不负任何责任
  1. $list = array(); //从这里开始
  2. //$menu = C::t('common_setting')->fetch('appmenu'); //无用的代码。有用我也不用,浪费时间
  3. $renew = false;
  4. //if($menu) { //无用的代码
  5. //$list = unserialize($menu); //无用的代码
  6. //} //无用的代码
  7. $today = strtotime(dgmdate(TIMESTAMP, 'Y-m-d'));
  8. $chfile = DISCUZ_ROOT.'./data/sysdata/cache_mymapps.php'; //注意 writetocache 输出的是否在此目录,根据实际情况修改
  9. if(file_exists($chfile)) {
  10. @include_once $chfile;

  11. if(!isset($cache_list) || !isset($cache_date) || $cache_date < $today) {
  12. $userApp = Cloud::loadClass('Service_Client_Manyou');
  13. $list = $userApp->getMenuApps();
  14. if($list === false && isset($cache_list)) {
  15. $list = $cache_list;
  16. }else {
  17. require_once libfile('function/cache');
  18. writetocache('mymapps',"if(!defined('IN_DISCUZ')) {\n\texit('Access Denied');\n}\n\n".getcachevars(array('cache_date'=>$today, 'cache_list'=>$list)));
  19. }
  20. }else {
  21. $list = $cache_list;
  22. }
  23. }else {
  24. $userApp = Cloud::loadClass('Service_Client_Manyou');
  25. $list = $userApp->getMenuApps();
  26. if($list !== false) {
  27. require_once libfile('function/cache');
  28. writetocache('mymapps',"if(!defined('IN_DISCUZ')) {\n\texit('Access Denied');\n}\n\n".getcachevars(array('cache_date'=>$today, 'cache_list'=>$list)));
  29. }else {
  30. exit('Error!');
  31. }
  32. }

  33. $usedList = array(); //到这里结束
复制代码
好了,测试一下效果



注,第一次加载需要较时间,第二次就好了,而且每天更新一次。当然,可以做个计划任务,每天凌晨更新,这就要靠大家去发挥了。

结束!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 23:33 , Processed in 0.027221 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表