私のラーベール以外のアプリケーションにDBクラスがあります。コードは以下のようになります。それはSQLクエリを処理し、結果を$ query_cacheに格納するので、現在のページリクエストで実行された別の同じクエリがmysqlクエリを実行せずに$ query_cacheからデータを送信するときにいつでも結果が$ query_cacheに格納されます。 の方がパフォーマンスが向上し、SQLクエリが減少します。Laravel DBのクエリ結果を変数にキャッシュする同じSQLクエリを同時に処理する場合
private $query_cache=array();
public function query($sql, $params = array()) {
if((strpos(strtolower($sql), 'select')) !== false) {
if(array_key_exists(md5('db-engine'.$sql),$this->query_cache))
{
return $this->query_cache[md5('db-engine'.$sql)];
}
}
$result = $this->adaptor->query($sql, $params);
$this->query_cache[md5('db-engine'.$sql)]=$result;
return $result;
}
Laravelフレームワークで何を行う必要がありますか?
私はあなたが 'remember'方法が必要だと思います。 - https://laravel.com/docs/5.3/cache – xpuc7o