原创| 开发动态| 一个月前| 阅读 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会比较方便使用,删除时可以达到板砖博客的缓存管理可视化效果,如下图:
本频道需要登陆后才能评论,请登录