Laravel 5.3从ajax加载数据(很多数据)

时间:2017-06-14 21:18:09

标签: php ajax laravel

你好我制作一个管理员面板来控制我的vps,专用服务器,所以我有很多数据fe cpu使用,内存使用,磁盘存储使用,负载等,我用这个进度条如下:

<li class="content"> <span>Cpu usage </span>
    <div class="progress progress-mini progress-danger active progress-striped">
        <div style="width: 99%;" class="bar"></div>
    </div>
    <span class="percent">87%</span>
    <div class="stat">Cores: 100</div>
</li>

我希望用ajax加载它(我知道该怎么做) 但是

Route::get('/ajax/cpuUsage',function(){
    //mysql query here
    return response()->json('MyData');
});

但是当我在我的页面上有10个观众时,这条路线将被调用十次,而且每个f.e我有十个请求.5秒是一个很小的安装但是当我有1k观众时可能会被杀死。所以我想缓存数据但是laravel cache min为1分钟,我该怎么办?我的英语是sory,但我认为你不能说我说的话:)

1 个答案:

答案 0 :(得分:0)

您可以像这样使用ajax:

subprocess.DEVNULL

您可能应该移动逻辑以将CPU使用率数据提取到控制器:

    $(function () {
        $.ajax({
            url: '/ajax/cpuUsage',
            type: "GET",
            success: function (data) {
                console.log(data);

                // do some logic here...

            }
        });
    });

然后让您的routes / web.php路由如下所示:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UsageController extends Controller
{




/**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
      // logic here
    return response()->json($mydata);
    }

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    //
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    //
}

/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function show($id)
{

}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function edit($id)
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, $id)
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function destroy($id)
{
    //
}
}