Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan caching dalam aplikasi PHP untuk meningkatkan kelajuan tindak balas?
Caching ialah teknik pengoptimuman biasa yang boleh meningkatkan kelajuan tindak balas aplikasi web dan menjadikan aplikasi web lebih lancar dan lebih cekap. Menggunakan caching dalam aplikasi PHP boleh melegakan tekanan capaian pangkalan data, mengurangkan kependaman rangkaian dan meningkatkan prestasi aplikasi dan pengalaman pengguna.
Cache (cache) merujuk kepada menyimpan sementara data yang kerap dibaca dan ditulis dalam memori atau cakera untuk mempercepatkan akses seterusnya. Teknologi caching ialah teknologi pengoptimuman yang boleh meningkatkan responsif aplikasi dengan mengurangkan pengiraan yang tidak perlu dan komunikasi rangkaian.
Dalam aplikasi web, cache yang biasa digunakan termasuk cache halaman, cache pangkalan data, cache objek dan cache fail, dsb. Antaranya, caching halaman adalah untuk menyimpan dokumen HTML halaman Web dalam memori atau cakera untuk digunakan semula. Caching pangkalan data menyimpan hasil pertanyaan pangkalan data dalam memori atau cakera untuk digunakan semula. Caching objek ialah proses menyimpan objek atau struktur data dalam aplikasi web dalam memori atau cakera untuk digunakan semula. Cache fail adalah untuk menyimpan fail statik (seperti CSS, JS, gambar, dll.) dalam cache penyemak imbas klien atau cache pelayan proksi untuk mempercepatkan kelajuan memuatkan halaman Web.
Menggunakan caching boleh meningkatkan kelajuan tindak balas aplikasi web, mengurangkan beban pelayan dan bilangan pertanyaan pangkalan data. Berikut memperkenalkan beberapa teknologi caching yang biasa digunakan dan kes aplikasi.
2.1 Caching Halaman
Caching halaman adalah untuk menyimpan dokumen HTML halaman Web dalam memori atau cakera untuk digunakan semula. Menggunakan cache halaman dalam aplikasi PHP boleh mengurangkan pertanyaan pangkalan data dan tekanan pelayan dan meningkatkan kelajuan tindak balas halaman. Alat caching halaman yang biasa digunakan termasuk memcached, Redis, dsb.
Sebagai contoh, dalam rangka kerja Laravel, caching halaman boleh dilaksanakan dengan mentakrifkan laluan dan pengawal:
Route::middleware('cache:60')->get('/post/{id}', '[email protected]');
Kod di atas menggunakan cache
middleware untuk cache hasil tindak balas /post/{id}
laluan selama 60 saat. Cache halaman boleh ditetapkan untuk tempoh masa yang agak singkat supaya data cache dikemas kini tepat pada masanya. Jika kandungan halaman perlu dikemas kini, ini boleh dicapai melalui tugas yang dijadualkan atau memuat semula cache secara manual.
2.2 Caching Pangkalan Data
Caching pangkalan data adalah untuk menyimpan hasil pertanyaan pangkalan data dalam memori atau cakera untuk digunakan semula. Menggunakan cache pangkalan data dalam aplikasi PHP boleh mengurangkan bilangan pertanyaan pangkalan data dan meningkatkan kelajuan tindak balas aplikasi. Alat caching pangkalan data yang biasa digunakan termasuk memcached, Redis, dsb.
Sebagai contoh, cache pangkalan data boleh dilaksanakan dalam rangka kerja Laravel dengan menggunakan pemacu cache:
$users = Cache::remember('users', 60, function () { return DB::table('users')->get(); });
Kod di atas akan menyimpan hasil cache kekunci users
selama 60 saat dan kembali hasil cache. Jika cache tamat tempoh, pangkalan data akan diminta dan hasil cache baharu disimpan.
2.3 Caching Objek
Caching objek ialah untuk menyimpan objek atau struktur data dalam aplikasi web dalam memori atau cakera untuk digunakan semula. Menggunakan cache objek dalam aplikasi PHP boleh mengurangkan masa memulakan dan memulakan objek kompleks dan meningkatkan kelajuan tindak balas aplikasi. Alat caching objek yang biasa digunakan termasuk APC, memcached, Redis, dsb.
Sebagai contoh, dalam rangka kerja Laravel, caching objek boleh dilaksanakan melalui fungsi mengikat bekas perkhidmatan:
$this->app->singleton(UserRepositoryInterface::class, function ($app) { return Cache::remember('users', 60, function () use ($app) { return new UserRepository($app['db']); }); });
Kod di atas mengikat antara muka UserRepositoryInterface
ke objek cache, dan jika dicache Selepas tamat tempoh, objek UserRepository
baharu akan dibuat semula.
2.4 Cache fail
Caching fail adalah untuk menyimpan fail statik (seperti CSS, JS, gambar, dll.) dalam cache pelayar klien atau cache pelayan proksi untuk mempercepatkan kelajuan pemuatan laman web. Menggunakan caching fail dalam aplikasi PHP boleh mengurangkan kependaman rangkaian dan tekanan pelayan, dan meningkatkan kelajuan tindak balas halaman web. Alat caching fail yang biasa digunakan termasuk caching HTML5 dan CDN.
Sebagai contoh, cache HTML5 boleh dilaksanakan dengan menambahkan teg berikut pada dokumen HTML:
<!DOCTYPE html> <html manifest="cache.manifest"> <head> ... </head> <body> ... </body> </html>
Kod di atas menentukan fail manifes cache melalui atribut html
dalam manifest
tag (cth. cache.manifest
), penyemak imbas boleh secara automatik cache sumber halaman berdasarkan sumber cache yang dinyatakan dalam fail manifes. Ini boleh mengurangkan bilangan permintaan HTTP dan mempercepatkan kelajuan memuatkan halaman web.
Caching ialah teknik pengoptimuman biasa yang boleh meningkatkan kelajuan tindak balas dan prestasi aplikasi web. Menggunakan caching dalam aplikasi PHP boleh meredakan tekanan capaian pangkalan data, mengurangkan kependaman rangkaian dan meningkatkan prestasi aplikasi dan pengalaman pengguna. Teknologi caching yang biasa digunakan termasuk caching halaman, caching pangkalan data, caching objek, caching fail, dsb. Teknologi caching dan toolkit yang sesuai perlu dipilih mengikut senario aplikasi tertentu untuk mencapai kesan caching yang optimum.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan caching dalam aplikasi PHP untuk meningkatkan kelajuan tindak balas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!