为了账号安全,请及时绑定邮箱和手机立即绑定

小白求问:我想缓存一个使用率高且耗时久的查询应该怎么做?大佬们有什么好的建议?

小白求问:我想缓存一个使用率高且耗时久的查询应该怎么做?大佬们有什么好的建议?

潇潇雨雨 2019-08-21 11:45:40
最近在看缓存相关的内容,现在有点搞不懂该怎么正确的使用缓存,在什么场景使用缓存。求各位大佬指点一下。我先举个例子:假如现在我有一个查询比较频繁而且时间比较久,我想缓存这个查询。未添加缓存的代码:publicfunctiontest(array$array1,array$array2){returnTable1::select('a','b','c')->with(['with1'=>function($query)use($array1){$query->select('c','d')->join('table2','table2.c','=','table1.c')->where($array1);}])->whereIn('a',$array2)->get();}下面是我写的添加了缓存的代码,但是不知道对不对。publicfunctiontest(array$array1,array$array2){$str1=implode(",",sort($array1));$str2=implode(',',sort($array2));$test=\Cache::remember("test$str1$str2",10,function()use($array1,$array2){returnTable1::select('a','b','c')->with(['with1'=>function($query)use($array1){$query->select('c','d')->join('table2','table2.c','=','table1.c')->where($array1);}])->whereIn('a',$array2)->get();});return$test;}像上述的情况应该怎么去缓存。还有就是应该在什么场景去使用缓存。求教....
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信