Bagaimana untuk cache halaman statik dalam laravel
Laravel ialah salah satu rangka kerja yang paling banyak digunakan oleh pembangun PHP, dengan fungsi yang berkuasa dan konfigurasi yang fleksibel. Apabila kita membina aplikasi berasaskan Laravel, kadangkala kita perlu cache beberapa halaman statik untuk meningkatkan prestasi tapak web.
Dalam artikel ini, kami akan menunjukkan cara menggunakan ciri caching Laravel untuk cache halaman statik, dengan itu meningkatkan prestasi aplikasi dan masa tindak balas. Kami akan cuba menyelesaikan tugas ini dalam dua langkah: pertama, kami akan mengkonfigurasi pemacu cache Laravel, dan kemudian kami akan mencipta perisian tengah untuk cache halaman statik.
1. Konfigurasikan pemacu cache
Laravel menyokong pelbagai pemacu cache, seperti Redis, Memcached, APC dan cache fail. Kita boleh memilih pemacu cache yang sesuai dengan kita berdasarkan situasi tertentu. Dalam contoh ini, kami akan menggunakan pemacu cache fail untuk cache halaman statik.
Pertama, dalam fail konfigurasi config/cache.php, kita perlu menukar pemacu cache lalai kepada pemacu cache fail Kodnya adalah seperti berikut:
'default' => env('CACHE_DRIVER', 'file'),
Seterusnya, dalam konfigurasi Dalam fail konfigurasi /cache.php, kita perlu menentukan laluan penyimpanan fail cache Kodnya adalah seperti berikut:
'path' => storage_path('framework/cache/data'),
Sekarang kita telah mengkonfigurasi pemacu cache Laravel, kita boleh mulakan. membina perisian tengah untuk cache halaman Statik.
2. Cipta perisian tengah untuk menyimpan halaman
Dalam Laravel, perisian tengah ialah bahagian penting dalam memproses permintaan HTTP. Kami boleh menggunakan perisian tengah untuk menapis permintaan, menambah maklumat pengepala, menetapkan kuki dan banyak lagi. Dalam contoh ini, kami akan mencipta perisian tengah untuk menyimpan halaman statik cache.
Pertama, kita perlu mencipta perisian tengah yang dipanggil "CachePage" untuk menyimpan halaman statik. Kita boleh menggunakan arahan berikut untuk menjana middleware baharu:
php artisan make:middleware CachePage
Apabila kita menjalankan arahan di atas, Laravel akan secara automatik mencipta fail bernama "CachePage.php" dan meletakkannya dalam direktori app/Http/ Middleware. Buka fail dan tambah kod berikut dalam kaedah pemegang:
public function handle($request, Closure $next) { // 检查此请求是否可以缓存 if (! $this->shouldCache($request)) { return $next($request); } // 获取此请求的缓存键 $key = $this->getCacheKey($request); // 尝试从缓存中获取此请求的页面 if (Cache::has($key)) { return response(Cache::get($key)); } // 如果没有从缓存中获取到,那么就处理请求并将结果缓存下来 $response = $next($request); if ($this->shouldCacheResponse($response)) { Cache::put($key, $response->getContent(), $this->getCacheLifetime()); } return $response; } // 检查此请求是否可以缓存 protected function shouldCache($request) { if (!$request->isMethod('get')) { return false; } if ($request->query->count()) { return false; } if (auth()->check()) { return false; } if (config('app.env') === 'local') { return false; } return true; } // 获取此请求的缓存键 protected function getCacheKey($request) { return 'cache:' . $request->url(); } // 检查此请求的响应是否可以缓存 protected function shouldCacheResponse($response) { return $response->status() === 200; } // 获取页面缓存的生存时间 protected function getCacheLifetime() { return config('cache.page_cache_lifetime'); }
Sekarang, mari kami terangkan kod di atas langkah demi langkah:
- Kami mula-mula menyemak sama ada permintaan ini boleh dicache. Kami hanya perlu cache permintaan GET, permintaan tanpa sebarang parameter pertanyaan, permintaan tidak disahkan dan permintaan dalam persekitaran bukan setempat.
- Jika kami menentukan bahawa permintaan ini boleh dicache, kami mendapat kunci cache. Dalam contoh ini, kami menggunakan URL yang diminta sebagai kunci cache.
- Kemudian kami cuba mendapatkan halaman ini daripada cache. Jika kita boleh mendapatkan halaman daripada cache, kembalikannya dan batalkan proses lain.
- Jika halaman tidak boleh diperoleh daripada cache, kendalikan permintaan dan cache hasilnya. Akhirnya, hasil pemprosesan dikembalikan.
Sekarang, daftarkan perisian tengah ini dalam fail Kernel.php. Kami menambahkan kod pendaftarannya pada tatasusunan $routeMiddleware, kodnya adalah seperti berikut:
'cache.page' => \App\Http\Middleware\CachePage::class,
Sekarang, apabila aplikasi kami memproses laluan yang sepadan dengan middleware CachePage, middleware itu akan disimpan dalam cache dalam sistem fail. Apabila permintaan seterusnya datang, perisian tengah akan mengambil halaman daripada cache dan mengembalikan hasilnya dengan cepat.
Ringkasan
Dalam artikel ini, kami menunjukkan cara untuk cache halaman statik menggunakan fungsi caching Laravel. Kami mula-mula mengkonfigurasi pemacu cache Laravel dan kemudian mencipta perisian tengah untuk cache halaman statik. Sepanjang proses, kami menumpukan pada beberapa amalan terbaik dan kes penggunaan dunia sebenar untuk menunjukkan kepada anda cara mengoptimumkan aplikasi anda bagi memastikan prestasi optimum dan masa tindak balasnya.
Atas ialah kandungan terperinci Bagaimana untuk cache halaman statik dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Kedua-dua Django dan Laravel adalah kerangka kerja penuh. Django sesuai untuk pemaju python dan logik perniagaan yang kompleks, manakala Laravel sesuai untuk pemaju PHP dan sintaks elegan. 1.Django didasarkan pada python dan mengikuti falsafah "lengkap bateri", sesuai untuk perkembangan pesat dan kesesuaian yang tinggi. 2. Laravel didasarkan pada PHP, menekankan pengalaman pemaju, dan sesuai untuk projek kecil dan sederhana.

Bagaimanakah Laravel memainkan peranan dalam logik backend? Ia memudahkan dan meningkatkan pembangunan backend melalui sistem penghalaan, eloquentorm, pengesahan dan kebenaran, acara dan pendengar, dan pengoptimuman prestasi. 1. Sistem penghalaan membolehkan definisi struktur URL dan logik pemprosesan permintaan. 2.eloquentorm memudahkan interaksi pangkalan data. 3. Sistem pengesahan dan kebenaran adalah mudah untuk pengurusan pengguna. 4. Acara dan pendengar melaksanakan struktur kod yang ditambah dengan longgar. 5. Pengoptimuman prestasi meningkatkan kecekapan aplikasi melalui caching dan beratur.

PHP dan Laravel tidak dapat dibandingkan secara langsung, kerana Laravel adalah rangka kerja berasaskan PHP. 1.Php sesuai untuk projek kecil atau prototaip cepat kerana ia mudah dan langsung. 2. Laravel sesuai untuk projek besar atau pembangunan yang cekap kerana ia menyediakan fungsi dan alat yang kaya, tetapi mempunyai lengkung pembelajaran yang curam dan mungkin tidak sebaik php tulen.

LaravelisabackendFramWorkBuiltonPHP, Direka ForweBapplicationDevelopment.itfocusesonServer-Sidelogic, DatabaseManagement, andApplications Structure, andCanbeIntegratedWithFrontendTechnologiesLikeVue.jsorreactorfull-stackdevelopment.

Projek Pembangunan Laravel telah dipilih kerana fleksibiliti dan kuasa untuk memenuhi keperluan saiz dan kerumitan yang berbeza. Laravel menyediakan sistem penghalaan, eloquentorm, baris perintah artisan dan fungsi lain, menyokong pembangunan dari blog mudah ke sistem peringkat perusahaan yang kompleks.

Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

Populariti Laravel termasuk proses pembangunan mudahnya, menyediakan persekitaran pembangunan yang menyenangkan, dan ciri -ciri yang kaya. 1) Ia menyerap falsafah reka bentuk Rubyonrails, menggabungkan fleksibiliti PHP. 2) Menyediakan alat seperti eloquentorm, enjin templat bilah, dan lain -lain untuk meningkatkan kecekapan pembangunan. 3) Mekanisme suntikan seni bina dan ketergantungan MVC menjadikan kod lebih modular dan boleh diuji. 4) Menyediakan alat debugging yang kuat dan kaedah pengoptimuman prestasi seperti sistem caching dan amalan terbaik.

Mahu mempelajari rangka kerja Laravel, tetapi tidak mengalami sumber atau tekanan ekonomi? Artikel ini memberikan anda pembelajaran percuma Laravel, mengajar anda cara menggunakan sumber seperti platform dalam talian, dokumen dan forum komuniti untuk meletakkan asas yang kukuh untuk perjalanan pembangunan PHP anda dari mula menguasai.
