dtra49684 2016-08-17 13:36
浏览 40
已采纳

Laravel:如何在30秒内限制查询或阻止查询的时间?

Here's the scenario. I cannot explain it in a good simple english, so it is like saying:

"Hey you just request a query a while ago, please wait 30 seconds to query back. For the meantime, use the cached data".

I have a view "application.blade.php", if you open that page it queries something from the Controller

 SELECT * FROM application WHERE user_id = 3

or

  $data = Application::findOrFail(3);
  return view('application', $data); `

so if a user will open that page/view, it will show some data. In my case, what if a user keeps refreshing/opening that page, so it will trigger the database to multiple query results. Which can cause traffic or such.

Question How to prevent a situation like this. or How to code like this algorithm

 if (query_time < 30 sec)
 {
    display_view_using_cache;
 }

The reason why this should be implemented, because as far as my boss concern, he don't want the database to be overflooded with query request.

  • 写回答

2条回答 默认 最新

  • duanpa5237 2016-08-17 13:54
    关注

    Try This

    $value = Cache::remember('users', 60, function()
    {
        return Application::findOrFail(3);
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?