今天分享一下Emlog网站优化,如何加快网站的缓存速度,加快文章发布速度的方法Emlog是基于PHP+MYSQL的运行环境,那么缓存来源于MYSQL数据库,加快缓存速度,就是要加快MYSQL的查询速度针对MYSQL的查询优化,有建索引等等,还有重要一点“SELECT * ”类似这样的SQL查询语句要少用当表内某字段存在“NULL”值时,查询就会很慢,当数据量大了之后会更慢!所以有两个优化方向,尽量减少数据库中的NULL值(空字符串)其二就是优化SQL查询语句,建立索引那么针对EMLOG缓存,我们就可以针对性优化本站的优化就需要在用户表数据这里处理,因为用户过多导致用户缓存数据特别慢。1、用户缓存修改方法:打开根目录下的“include\lib\cache.php”将用户数据缓存这里替换一下,代码如下:未修改前:/**
* 用户信息缓存
*/
private function mc_user() {
$user_cache = array();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "user");
while ($row = $this->db->fetch_array($query)) {
$photo = array();
$avatar = '';
if(!empty($row['photo'])){
$photosrc = str_replace("../", '', $row['photo']);
$imgsize = chImageSize($row['photo'], Option::ICON_MAX_W, Option::ICON_MAX_H);
$photo['src'] = htmlspecialchars($photosrc);
$photo['width'] = $imgsize['w'];
$photo['height'] = $imgsize['h'];
$avatar = strstr($photosrc, 'thum') ? str_replace('thum', 'thum52', $photosrc) : preg_replace("/^(.*)\/(.*)$/", "\$1/thum52-\$2", $photosrc);
$avatar = file_exists('../' . $avatar) ? $avatar : $photosrc;
}
$row['nickname'] = empty($row['nickname']) ? $row['username'] : $row['nickname'];
$user_cache[$row['uid']] = array(
'photo' => $photo,
'avatar' => $avatar,
'name_orig' => $row['nickname'],
'name' => htmlspecialchars($row['nickname']),
'mail' => htmlspecialchars($row['email']),
'des' => htmlClean($row['description']),
'ischeck' => htmlspecialchars($row['ischeck']),
'role' => $row['role'],
);
}
$cacheData = serialize($user_cache);
$this->cacheWrite($cacheData, 'user');
}替换为下面代码:/**
* 用户信息缓存
*/
private function mc_user() {
$user_cache = array();
$query = $this->db->query("SELECT uid,username,nickname,role,ischeck,photo,email,description FROM " . DB_PREFIX . "user");
while ($row = $this->db->fetch_array($query)) {
// $photo = array();
/*
$avatar = '';
if(!empty($row['photo'])){
$photosrc = str_replace("../", '', $row['photo']);
$imgsize = chImageSize($row['photo'], Option::ICON_MAX_W, Option::ICON_MAX_H);
$photo['src'] = htmlspecialchars($photosrc);
$photo['width'] = $imgsize['w'];
$photo['height'] = $imgsize['h'];
$avatar = strstr($photosrc, 'thum') ? str_replace('thum', 'thum52', $photosrc) : preg_replace("/^(.*)\/(.*)$/", "\$1/thum52-\$2", $photosrc);
$avatar = file_exists('../' . $avatar) ? $avatar : $photosrc;
}*/
$row['nickname'] = empty($row['nickname']) ? $row['username'] : $row['nickname'];
$user_cache[$row['uid']] = array(
'photo' => $row['photo'],
'avatar' => $row['photo'],
'name_orig' => $row['nickname'],
'name' => htmlspecialchars($row['nickname']),
'mail' => htmlspecialchars($row['email']),
'des' => htmlClean($row['description']),
'ischeck' => htmlspecialchars($row['ischeck']),
'role' => $row['role'],
);
}
$cacheData = serialize($user_cache);
$this->cacheWrite($cacheData, 'user');
}2、emlog核心优化方法:打开“admin\save_log.php”文件搜索:// 源代码
$CACHE->updateCache();
// 修改为:
$CACHE->updateCache(array('sta', 'tags', 'newlog', 'logsort', 'logtags'));
评论
172条评论★霍伟东★ Lv.1
Chrome 86.0.4240.198
Windows 回复
支持一下,黑蜘蛛博客有你更精彩
安徽省滁州市 联通
351641 Lv.1
Sogou Explorer
Windows 回复
江苏省南通市 电信
pang Lv.1
Android Webkit 4.0
Android 11 回复
#坎坎坷坷
山东省青岛市 联通
一阵子 Lv.1
Chrome 96.0.4664.104
Android 11 回复
江苏省 联通
buliweike Lv.1
Chrome 83.0.4103.61
Windows 回复
感谢
北京市 移动
aaaaa Lv.1
Chrome 105.0.0.0
Windows 回复
感谢楼主表情,好人一生平安
四川省成都市 联通
mxoin Lv.1
Chrome 70.0.3538.25
Windows 回复
感谢楼主表情,好人一生平安
山东省枣庄市 移动
aira Lv.1
Chrome 105.0.0.0
Windows 回复
感谢楼主
,好人一生平安
中国 移动
鸿大大 Lv.1
Chrome 83.0.
Android 9 回复
评论了咋看不见下载链接
中国 移动
鸿大大 Lv.1
Chrome 83.0.
Android 9 回复
谢谢
中国 移动