Php 为什么访问数据库比缓存阵列更快?
我有以下(未优化)代码: 页面加载时间为(11.11s)-平均5次尝试 我访问这个方法大约100次来搜索给定的键(我知道我可以通过传递一组键来优化它) 但是,如果我试图通过定义以下功能来优化它:Php 为什么访问数据库比缓存阵列更快?,php,laravel,optimization,Php,Laravel,Optimization,我有以下(未优化)代码: 页面加载时间为(11.11s)-平均5次尝试 我访问这个方法大约100次来搜索给定的键(我知道我可以通过传递一组键来优化它) 但是,如果我试图通过定义以下功能来优化它: public function getFromAllKeys($keyName) { ... $allKeys = Cache::remember('myData', 60, function () { return LokaliseKey::all()->keyBy
public function getFromAllKeys($keyName) {
...
$allKeys = Cache::remember('myData', 60, function () {
return LokaliseKey::all()->keyBy('key_id'); // ± 4000 records
});
return Cache::get('myData')[$keyName];
}
页面加载时间甚至更慢(15.95s)您认为页面加载时间在第一次请求时更慢还是在每次请求时都慢?@AngadDubey当页面完全加载时loaded@kerbholz好的,
Cache::memory()
仅当数据尚未缓存时才缓存数据,不是吗?你是在使用缓存还是只是在模拟缓存?Larave的默认缓存是array,这不是一个很好的缓存。@IGP我正在缓存到文件。我想我应该redis
或其他东西,但不确定这是否是这里的主要问题。
public function getFromAllKeys($keyName) {
...
$allKeys = Cache::remember('myData', 60, function () {
return LokaliseKey::all()->keyBy('key_id'); // ± 4000 records
});
return Cache::get('myData')[$keyName];
}