laravel缓存处理

太过爱你忘了你带给我的痛 2022-04-11 08:22 306阅读 0赞
  1. 本篇博客将利用laravel的缓存方法对网站进行优化,让你的网站飞起来。
  2. 我们先封装两个方法,方便我们使用,首先封装的是获取缓存KEY方法,代码如下:
  3. /**
  4. * 获取缓存的KEY
  5. * @param $key
  6. * @param string $other
  7. * @return string
  8. */
  9. static function getCacheKey($key, $other = '')
  10. {
  11. self::log('cache', __CLASS__ . '->' . __FUNCTION__, '' . '-' . $key . '-' . $other);
  12. return '' . '-' . $key . '-' . $other;
  13. }
  14. 然后我们再封装一个获取缓存时间的方法,代码如下:
  15. /**
  16. * 获取缓存的超时时间
  17. * @param $key
  18. * @param $default
  19. * @return mixed
  20. */
  21. static function getCacheTimeout($key, $default = 0)
  22. {
  23. if (isset($_ENV['cacheTimeout'][$key])) {
  24. return $_ENV['cacheTimeout'][$key];
  25. } else {
  26. return $default ? $default : 30;
  27. }
  28. }
  29. 我们其中把默认的缓存时间放在我们的配置变量里,也可以通过我们外部传入的时间进行设定,这就要看大家的需要了。
  30. 完成上面那些事之后,我们便开始我们的业务层代码了,首页我们得引入缓存的门面,代码如下:
  31. use Illuminate\Support\Facades\Cache;
  32. 然后我们开始先获取缓存的KEY,如果获取到,那么则返回缓存里的数据,而不会去数据库里获取,代码如下:
  33. // 获取缓存
  34. $cacheKey = self::getCacheKey(__CLASS__ . '.' . __FUNCTION__, '');
  35. $cacheResult = Cache::get($cacheKey);
  36. if ($cacheResult) {
  37. return $cacheResult;
  38. }
  39. 其中getCacheKey就是我们上一步封装的获取缓存key的方法,里面的头一个参数便是Key,我这里的key名称是当前类的当前方法,如果没有获取到便进行我们的数据查询,代码如下:
  40. $blog = ManageArticle::getListWithHome();
  41. 获取到数据后,我们便开始设置缓存,代码如下:
  42. // 设置缓存
  43. Cache::put($cacheKey, $blog, self::getCacheTimeout(__CLASS__ . '.' . __FUNCTION__)
  44. , 3600);
  45. //
  46. 将我们获取到的数据放在缓存里,同时命名跟设置缓存时间。最后一步便是返回数据,代码如下:
  47. return $blog;
  48. 这样我们便完成了缓存的封装并使用。
  49. 更多文章请关注微信公众号

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0haWDE5OTQxMDE4_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,306人围观)

还没有评论,来说两句吧...

相关阅读

    相关 laravel-异常处理

    laravel 异常抛出 在开发中错误处理是非常重要的,最重要是两点:第一,声明异常的错误代码和信息。第二,不同场景下抛出异常的有所不同,比如 api 中一般是前端 aj

    相关 laravel事务控制处理

           在我们的业务处理中,有时候会遇到多个SQL语句的操作,并且他们是分开执行的,有时候他们是存在互相关联的,比如A表新添了一条记录,B表要对该记录进行关联,如果我们不

    相关 laravel篇之缓存

    简介 PHP缓存包括PHP编译缓存和PHP数据缓存两种。PHP是一种解释型语言,属于边编译边运行的那种。这种运行模式的优点是程序修改很方便,但是运行效率却很低下。PHP编译