[英]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.