簡體   English   中英

為什么我的Laravel Memcache需要太長時間來檢索數據?

[英]Why is my Laravel Memcache taking too long to retrieve data?

我正在制作一個簡單的larvel應用程序來顯示memcached的用法。 我正在使用的Os是ubuntu。 數據庫中的記錄是50k。

我成功安裝了memcache並在其中保存了數據,但問題是當我從memcache中檢索數據時,它花費的時間與數據庫的回溯相同。 請告訴我這是什么問題。 我也在Windows上安裝了memcache,但是在Windows上問題也是如此。

/**
 * Created by PhpStorm.
 * User: Delll
 * Date: 14-Sep-18
 * Time: 2:44 AM
 */

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;

class User_controller extends Controller{


    public function index(){
        $memcache = 'Using memcache';

        $users = Cache::remember("key",6999,function(){
            return DB::table('users')->get();
        });
//        Cache::pull('key');

        $val= Cache::has('key');
        if($val !=null){
            echo "Found ".$val;
        }else{
            echo "Not Found ".$val;
        }

        return view('pages.home',compact('users','memcache'));
    }

    public function remove(){
        $value = Cache::pull('key');
        return $value;
    }


}

memcache的結果應該比數據庫檢索得更快。

memcached的性能問題很難調試(至少對我而言)。 我建議使用用戶空間strace工具來深入了解導致延遲的原因(讀取?寫入?其他?)

這是獲取一些信息的示例:

 strace -p {php_process_id} -k -r -t -i -T -q  -v -y -yy -C -d -o strace_output.log

而不是php進程id把根php-fpm進程ID放在那里,看看你得到了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM