Emlog优化缓存速度加快文章发布速度

作者: 小易

全网最全的网络资源分享网站

手机扫码查看

特别声明:本站多为原创或网络转载、资源使用一般不提供帮助、本站资源不可商用原创或部分除外、如有侵权请联系!

摘要:今天带来一篇Emlog优化缓存速度加快文章发布速度教程,教程优化主要对于减少网站,mysqlSELECT 查询,优化缓存文章发布速度。优化功能针对MYSQL的查询优化,有建索引等等...

今天带来一篇Emlog优化缓存速度加快文章发布速度教程,教程优化主要对于减少网站,mysql SELECT 查询,优化缓存文章发布速度。

优化功能

针对MYSQL的查询优化,有建索引等等,还有重要一点“SELECT * ”类似这样的SQL查询语句要少用,当表内某字段存在“NULL”值时,查询就会很慢,当数据量大了之后会更慢!

所以有两个优化方向,尽量减少数据库中的NULL值(空字符串),其二就是优化SQL查询语句,建立索引,那么针对EMLOG缓存,我们就可以针对性优化

本站的优化就需要在用户表数据这里处理,因为用户过多导致用户缓存数据特别慢

用户缓存修改方法:

打开根目录下的“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']),
                'website' => htmlClean($row['website']),
                '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');
        }

emlog核心优化方法:

打开“admin\save_log.php”文件搜索:$CACHE->updateCache();

将代码 $CACHE->updateCache();  修改为

$CACHE->updateCache(array('sta', 'tags', 'newlog', 'logsort', 'logtags'));
分享到:
打赏
  •  阅读时间:

    字数统计:本文共有 2850 个字

    本文标题:《Emlog优化缓存速度加快文章发布速度》发布于2022-6-2

    原创文章:http://www.eruu.cn/post-12.html

    版权声明:文章由《 小易》发布、原创转载请保留出处!

    评论

    
    切换注册

    登录

    忘记密码?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏