Emlog标签多,用户多造成后台文章发布卡时间长的解决方法

EMLOG的缓存说明Emlog程序以其轻巧简单的特点受到不少人的青睐,但是对于一个网站数据量比较大的EMLOG网站来说,EMLOG程序自带的缓存功能就有一点鸡肋了。所以这里分享一下如何给EMLOG网站的...

EMLOG的缓存说明
Emlog程序以其轻巧简单的特点受到不少人的青睐,但是对于一个网站数据量比较大的EMLOG网站来说,EMLOG程序自带的缓存功能就有一点鸡肋了。所以这里分享一下如何给EMLOG网站的缓存进行精简。
当你的文章数量比较多的时候,你每更新一片文章或者分类就要刷新一次这个存储量异常庞大的缓存文件,导致点了文章发布之后半天还没发布成功,甚至会因为缓存过大而导致文章发布失败。
精简EMLOG的缓存

此方法可以解决后台发布卡顿问题,但是可能会造成一些小问题,比如前台模板调用缓存失效或者后台信息不实时更新

修改了emlog核心程序的缓存文件,限制更新全部缓存的时候只更新统计和导航和链接的三个缓存。

代码如下 可以按需修改

comcacn/include/lib/cache.php

// 更新全部缓存
		if ($cacheMethodName == null) {
			// 自动运行本类所有更新缓存的方法(此类方法的名称必须由mc_开头)
			$cacheMethodNames = get_class_methods($this);
			foreach ($cacheMethodNames as $method) {
				if (preg_match('/^mc_/', $method)) {
					if ($method=='mc_sta'||$method=='mc_navi'||$method=='mc_link') call_user_func(array($this, $method));
				}
			}
		}

缓存不写入调用方法只能用常规的查库获取,比如标签都可以直接用module里面写好的方法 直接调用

分类也可以这样写sql

$db = MySql::getInstance();
    	$sql = " SELECT `sortid`,`gid` FROM `".DB_PREFIX."blog` WHERE `gid` = {$logid} ";
    	$row = $db -> once_fetch_array($sql);
具体问题具体分析,修改内核以后,网站或者模板部分功能也需要修改
如果要彻底解决还是需要下下功夫!
如果需要更多服务欢迎联系思源
  • 发表于 2021-02-10 15:12
  • 阅读 ( 282 )
  • 分类:互联网

0 条评论

请先 登录 后评论
腾龙w部
腾龙w部

708 篇文章

你可能感兴趣的文章

相关问题