FEATURE: cache most used SQL queries

This commit is contained in:
Michal Kváček
2017-02-22 01:40:26 +01:00
parent cad205960d
commit f3b1951d25
10 changed files with 74 additions and 35 deletions
+6 -3
View File
@@ -2,11 +2,12 @@
namespace App\Http\Controllers\Visitor;
use App\Models\Content\Content as ContentModel;
use App\CMS\Contracts\Repositories\Content;
use App\CMS\Helpers\PageRenderer;
use App\Http\Controllers\Controller;
use App\Models\Content\Content as ContentModel;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
class ContentPage extends Controller
{
@@ -20,13 +21,15 @@ class ContentPage extends Controller
*/
function __construct(Content $content)
{
$this->content = $content;
}
public function getPage($url)
{
$page = $this->content->getByURL($url);
$contentModel = $this->content;
$page = Cache::remember('content-' . $url, setting('contentCacheLifetime', 5), function () use ($contentModel, $url) {
return $contentModel->getByURL($url);
});
// no page available
if (!$page) {
+6 -1
View File
@@ -2,12 +2,17 @@
namespace App\Http\Controllers\Visitor;
use Illuminate\Support\Facades\Cache;
class Homepage extends ContentPage
{
public function getIndex()
{
// try to find some homepage
$page = $this->content->getHomepage();
$contentModel = $this->content;
$page = Cache::remember('hp', setting('homepageCacheLifetime', 5), function () use ($contentModel) {
return $contentModel->getHomepage();
});
// test if we have any homepage
if (!$page) {