Tehnik Cache File PHP Untuk Mengurangi Beban Server

Cache Logo

Dalam sebuah website, Caching File adalah metode yang digunakan untuk menyimpan aktifitas pengunjung kedalam sebuah file lain, terkadang beberapa situs memakai cara ini untuk mencegah websitenya tersuspensi akibat beban yang tinggi. Setiap pengunjung yang datang kedalam situs dihitung setiap file yang ditampilkan dan jika file tersebut sangat besar dapat merusak sebuah server dan akhirnya supaya tidak mengganggu pada server lain harus disuspensi.

Banyak situs memakai fitur CDN dari server lain untuk menyimpan file penting seperti theme (CSS), javascript, dan file sebagainya bertujuan supaya tidak terlalu banyak pengambilan data yang ada pada hosting dan ini sangat bagus digunakan untuk website yang memakai hosting dan memiliki bandwidth yang tidak seberapa.

Melakukan Caching sangat mudah dilakukan langsung dari script jadi, tapi beberapa diantaranya script yang seperti itu tidak cocok pada hosting yang dimiliki, dan di posting ini Saya akan memberikan kode Caching yang ampuh dan sangat kecil dan mudah untuk dipahami. Silahkan amati kode dibawah ini:

Header

<?php
$halaman = pathinfo($_SERVER[PHP_SELF]);
$waktu = 5 * 60;
$tempatfile = "cache/".$halaman[filename].".html";
/* Penyesuaian file dan waktu */
if (file_exists($tempatfile) && (time() - $waktu < filemtime($tempatfile))){
include($tempatfile);
echo "<!-- This page has been cached from ".date('H:i', filemtime($tempatfile))." -->";
exit;
}
ob_start();
?>
<html><body><a href="/">KONTEN</a></body></html>

Footer

<?php
$tambah = fopen($tempatfile, 'w');
fwrite($tambah, ob_get_contents());
fclose($tambah);
ob_end_flush();
?>

Keterangan

$halaman – digunakan untuk melihat tempat file yang dikunjungi saat ini dan memakai 2 fungsi yaitu pathinfo dan server php self.

$tempatfile – adalah tempat yang digunakan untuk menyimpan sebuah file berbentuk HTML pada folder yang ditentukan, folder optional adalah cache.

$waktu – digunakan untuk menambah waktu berbentuk angka detik ataupun seperti struktur diatas yang akan dijadikan sebagai waktu cache expired.

Penyesuaian file dan waktu – dari kode diatas sudah ditambah comment tags tentang ini dan disini hanya memakai 3 tags yang sangat penting yakni: if file_exist yang digunakan untuk menyesuaikan file apakah sudah ada dan tidak, lalu fungsi time() yang digunakan untuk menampilkan struktur dari string $waktu, dan fungsi filemtime untuk menjalankan cache dan melihat waktu terakhir perbaruan cache file.

Konten – terlihat dari kode diatas telah ada HTML tags dan kode tersebut dapat diganti dengan konten website yang dimiliki, dapat memakai PHP ataupun lainya karena nantinya akan tetap menjadi HTML.

Fwrite – fungsi ini digunakan untuk menulis semua konten berbentuk HTML menuju file cache.

Hanya dengan sedikit kode sudah dapat membuat website menjadi ringan dan tentunya tidak mengasumsi lebih banyak data karena data tidak lagi dilakukan pada banyak fungsi dan hanya dari file cache saja. Silahkan sesuaikan kode diatas dengan script yang dimiliki seperti membuatnya menjadi class.

Bagi pengguna WordPress hosting tidak perlu melakukan metode ini secara manual karena sudah tersedia plugin yang sangat bagus dan gratis untuk melakukan cache yaitu W3 Total Cache dan WP Super Cache, untuk minginstalasi cukup tambah baru pada dasbor admin.

Semoga bermanfaat dan Selamat mencoba

10 comments
  1. Tanya mas, bisa tidak ya kita cache hanya bagian tertentu saja dlm sebuah halaman, misal hanya bagian postingan, akan tetapi pada bagian footer tidak, dikarenakan ingin menampilkan random post yg selalu brubaah.

    Makasih byk sebelumnya…

    1. Hal tersebut bisa dilakukan dengan sistem cookies. Sangat disayangkan karena Saya tidak dapat menjabarkan juga caranya disini disebabkan artikel diatas hanya menjelaskan sedikit hal yang memungkinkan agan dapat meningkatkan kode tersebut sesuai kebutuhan.

    1. Cache ini bergantung pada URLnya. dan diatas khusus URL yg di mod rewrite. jadi bisa disesuaikan sendiri dengan sistem webnya 😀

    1. Letakkan di header dan footer. kode diatas sudah dipisahkan menjadi 2. Jangan lupa untuk mengedit atau menghapus kode html yang ada diakhir kode header diatas dengan konten websitenya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *