今天分享一下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'));
评论
33条评论qf123 Lv.1
Chrome 101.0.4951.54
Windows 回复
学习
江西省南昌市 南昌大学
a-昔日故友@ Lv.1
Chrome 86.0.4240.198
Windows 7 x64 Edition 回复
支持一下,黑蜘蛛博客有你更精彩
贵州省 联通
萌神橘子 Lv.1
Chrome 102.0.5005.124
Windows 回复
回复了a-昔日故友回复了:
支持一下,黑蜘蛛博客有你更精彩
福建省厦门市 联通
萌神橘子 Lv.1
Chrome 102.0.5005.124
Windows 回复
回复了萌神橘子:这评论功能不错 支持! 测试下....
福建省厦门市 联通
枫叶情缘 Lv.1
Chrome 102.0.5005.124
Windows 回复
回复了萌神橘子:资源很给力啊
福建省厦门市 联通
测试 Lv.1
Chrome 101.0.4951.54
Windows 回复
测试
北京市 移动
拾玖 Lv.1 回复
资源很给力啊
浙江省绍兴市 电信
Jason Lv.1 回复
浙江省绍兴市 电信
藍色雙子星 Lv.1
Sogou Explorer
Windows 7 x64 Edition 回复
是不是啊
河南省郑州市 联通
縵步ぎ澐端 Lv.1
Chrome 96.0.4664.110
Mac OS X 10.15.7 回复
nice啊
北京市 联通
yunyang0726 Lv.1
Chrome 87.0.4280.88
Windows 回复
assasdasadsaddsasad
中国 移动
来 Lv.1
Chrome 84.0.4147.105
Windows 回复
666啊
山东省烟台市 电信
流水飘离 Lv.1
Chrome 78.0.3904.108
Windows 回复
我来康康
重庆市 移动