≡ Menu

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

About the author: Apapun yang Saya ketahui dan Saya bagikan. Semuanya berawal dari masa yang disebut pembelajaran.

{ 8 comments… add one }
  • Damar Pramudito Nurjati August 20, 2017, 9:51 am

    Bagaimana cara mengatur agar ketika pengunjung login halaman tidak di cache namun ketika pengunjung tidak login halaman di cache?

    • rrobyf August 21, 2017, 11:10 am

      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.

  • yudana April 19, 2017, 1:42 am

    thanks gan, tutorialnya. cache memang mengurangi beban server

  • Imam January 19, 2016, 4:04 pm

    SAngat membantu

  • joni May 26, 2015, 2:36 am

    kalok buat auto content pakek cache INI gima bro?

    • rrobyf May 26, 2015, 6:00 am

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

  • ibnoe cahyadie January 27, 2015, 3:54 am

    sebagai pemula seperti saya, saya masih kebingungan gan, yang membuat saya bingung dimana kita meletakkan script ini, mohon pencerahannya gan…, salam kenal….

    • rrobyf January 27, 2015, 12:11 pm

      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.

Leave a Comment