关于Thinkphp系统缓存强制刷新,分类别、可视化减轻系统压力

原创| 开发动态| 一个月前| 阅读 170 次 | 1赞同 0反对

概述:很多技术新人在使用缓存上未遵循分门别类的思路,缓存key值做的比较随意,当系统遇到内存拥堵的情况下整个网站都缓慢了,如果用一键清除又会导致数据库查询量暴增,看完本篇希望能够给你一个新思路。

很多技术新人在使用缓存上未遵循分门别类的思路,缓存key值做的比较随意,当系统遇到内存拥堵的情况下整个网站都缓慢了,如果用一键清除又会导致数据库查询量暴增,看完本篇希望能够给你一个新思路。

例如在Thinkphp中,用cache助手方法非常方便,在我们系统开发支出可能只想到了功能实现和局部的缓存应用,但是当网站规模上升后再来做缓存管理已经是比较晚了。

我在板砖博客的设计中期考虑到了这个问题,于是稍微改造了一下cache助手方法:

/**
 * 为了预防cache出错,做的判断
 * @param unknown tag前缀
 * @param unknown 名称
 * @param string $value 当不写value的时候是获取,写的时候是赋值
 * @return mixed|\think\cache\Driver|boolean|NULL
 */
function dcache($tag, $name, $value = '', $outtime = 3600)
{

    if (config('cache_status') == 0) {
        return null;
    }

    try {
        if ($value == '') {
            return cache($name);
        }

        if ($tag) {
            return Cache::tag($tag)->set($name, $value, $outtime);
        }

        return cache($name, $value, $outtime);

    } catch (Exception $e) {
        return null;
    }
}
通过tag将各模块缓存分类,tag值你可以在系统中define会比较方便使用,删除时可以达到板砖博客的缓存管理可视化效果,如下图:



DMAKE

本频道需要登陆后才能评论,请登录


暂无评论...