给thinkphp添加缓存机制

技术论点 Loading... 阅读 1

网上找的代码通常看开发者心情,是添加缓存机制还是不加,使用者是没办法的。

我们最常用的缓存机制,其实是文章和搜索以及标签这三个功能块,因为这些模块产生的数据是很大的,卡也是因为这些模块。

所以,晚上睡不着,把这三个模块加上缓存。现在这个功能已经完成了,测试正常,我是用的是redis,同时设置持久化,永不过期。

速度测试:https://dh.qqooo.cn

完整的方法:

    //   下面这是加的缓存
       $about_shuju = 'html_'.$id;
        //如果有数据直接调用
        if (Cache::has($about_shuju)) {
            $t = Cache::get($about_shuju);
        } else {
                //没有数据就从数据库查询,之后设置存储到缓存中
                $t = $article->alias('a')->join('articlecate c', 'c.id=a.tid')->join('user m', 'm.id=a.uid')->field('a.*,c.id as cid,c.name,c.template,c.alias,m.id as userid,m.grades,m.point,m.userhead,m.username,m.sex,m.status')->where('a.id', $id)->find();
                $t['keyword_arr']=explode(',',$t['keywords']);
                // 此代码去除url中的http(s)头和/尾部
                preg_match_all('/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/', $t['outlink'], $matches);
                $t['domain']=$matches[0][0];
            Cache::set($about_shuju, $t);
        }
                
        $this->assign('t', $t);

效果演示:

给thinkphp添加缓存机制

PS:这个缓存可以是本地,也可以是redis,还可以是其他的内存性缓存,都是可以的。

Tags:

版权声明:若无特殊注明,本文皆为《燕闻墨香博客》原创,转载务必保留文章来源。

本文链接:给thinkphp添加缓存机制 & https://www.mxooo.cn/1274/

推荐阅读
发表评论 取消回复
表情 图片 链接 代码

  1. 马内
    马内 Lv 1

    缓存机制,提高程序运行速度。

分享