Rumah >pembangunan bahagian belakang >tutorial php >Caching Hat-Trick: Zend Opcache, Etags dan Query Caching
Artikel ini meneroka teknik cache PHP yang biasa: Zend Opcache, Tamat Tudung, dan Caching Query MySQL. Kami akan menyelidiki strategi selanjutnya dalam artikel berikutnya.
Kelebihan utama:
Sebelum menyelam ke dalam caching, mari kita semak proses permintaan PHP:
pengambilan fail: Fail PHP diambil dari sistem fail pelayan.
zend opcache:
Zend Opcache adalah penambah prestasi yang sedia ada untuk PHP 5.5 dan kemudian. Sahkan pemasangan menggunakan
(periksa "Zend Opcache") atau. php --version
phpinfo()
edit fail
anda, uncomment, dan mulakan semula perkhidmatan PHP anda. php.ini
opcache.enable=1
untuk versi PHP sebelum 5.5, pasang menggunakan PECL:
pecl install zendopcache-beta
konfigurasi opcache (
php.ini
Tetapan utama: /etc/php5/mods-available/opcache.ini
opcache.memory_consumption
opcache.interned_strings_buffer
opcache.max_accelerated_files
opcache.revalidate_freq
opcache.max_file_size
opcache.fast_shutdown
untuk memantau status dan prestasi Opcache.
tamat pengepala (Apache):
Modul
mod_expires
Konfigurasikan peraturan tamat dalam konfigurasi hos maya Apache anda:
<code class="language-bash">sudo a2enmod expires sudo service apache2 restart</code>
(Rujuk dokumentasi nginx untuk konfigurasi nginx.)
<code class="language-apache"><ifmodule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 day" ExpiresByType image/png "access plus 10 days" ExpiresByType text/css "access plus 25 days" </ifmodule></code>
MySQL Query Caching:
Untuk aplikasi bacaan-berat, cache pertanyaan MySQL dapat meningkatkan prestasi secara dramatik. Semak versi MySQL anda (). Untuk versi 5.6.8 dan kemudian, aktifkannya dalam (mis.,
mysql --version
Laraskan tetapan berdasarkan kapasiti pelayan anda dan kekerapan kemas kini. Pantau penggunaan cache dengan my.cnf
. /etc/mysql/my.cnf
<code class="language-mysql"># * Query Cache Configuration query_cache_type = ON query_cache_min_res_unit = 4096 query_cache_limit = 1M query_cache_size = 16M query_cache_wlock_invalidate = OFF</code>
SHOW STATUS LIKE "qcache%";
Pertimbangan cache pertanyaan:
pertanyaan. Pertanyaan mestilah sama untuk hits cache.
SELECT
Kemas kini jadual membatalkan cache. Soalan -soalan yang sering ditanya (Soalan Lazim): (Ini sudah dijawab dalam teks utama, jadi tidak perlu mengulanginya di sini.)
Atas ialah kandungan terperinci Caching Hat-Trick: Zend Opcache, Etags dan Query Caching. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!