Cache Hasil HTML dengan PHP

Cache Hasil HTML dengan PHP

Apa Itu Cache ?

cache merupakan suatu cara untuk penyimpanan sementara dokumen yang terdapat dalam suatu web seperti halaman HTML dan file lainnya.

Apa Manfaat Caching ?

caching merupakan suatu teknologi yang memiliki manfaat sangat besar salah satunya untuk mempercepat load suatu website.

Website yang banyak dikunjungi oleh pengunjung seperti website pemerintahan, dalam hal ini saya mengambil contoh portal penerimaan CPNS di https://sscn.bkn.go.id , banyak pengunjung mengeluh karena website tersebut sangat susah diakses kemungkinan dikarenakan jumlah pengunjung yang banyak mengakses dalam satu waktu.

setiap kali pengunjung membuka halaman tersebut server akan membutuhkan perhitungan dan memakan banyak waktu, hal ini dikarenakan website tersebut harus memuat postingan terbaru, css, js, dan banyak lainnya yang diload. dan hal ini dilakukan secara berulang ulang

Untuk jenis dari caching itu sendiri itu bisa kita bagi menjadi 2 jenis yaitu client side caching dan server side caching, tujuannya sama untuk menyimpan cache agar sewaktu diperlukan tidak perlu diload ulang.

Apakah caching diperlukan ?

menurut admin sangat diperlukan, apalagi dengan website sekelas https://sscn.bkn.go.id. Dengan menerapkan caching selain membuat lebih cepat juga membuat website tersebut menjadi tetap baik ketika menerima trafik yang tinggi, normalnya dengan koneksi yang stabil halaman akan selesai diload paling lama adalah 5 detik.

dari segi SEO hal ini juga sangat diperlukan, karena pengunjung pasti akan langsung menutup halaman website yang memberikan respon lambat.

Nah udah paham kan apa itu caching, sekarang kita akan mencoba untuk menyimpan halaman HTML dengan PHP. 

langkah pertama yang harus kita siapkan adalah dengan membuat sebuah direktori untuk penyimpanan cache, contoh disini saya membuat sebuah direktory dengan cache/. Direktory tersebut jangan / tidak boleh diakses secara langsung, bagaimana caranya ? kita hanya buth sebuah file .htaccess di direktori tersebut.

untuk eksetensi file cache sendiri kita bisa menentukan sesuai keinginan anda sendiri seperti html,txt atau lainnya.

berikut contoh file .htaccess nya adalah :

<FILES ~ "\.html$">  
    Order allow,deny  
    Deny from all  
</FILES>

Isi .htaccess diatas menjelaskan kalau ekstensi cache yang saya buat adalah .html .

oke kita lanjut ke langkah berikutnya.

Sekarang kita buat bagian pertama dari mekanisme cache, buat sebuah file dengan nama cache_top.php , kemudian copy script berikut ini 

<?php

// Ambil nama file
$phpself = isset($_SERVER['PHP_SELF']) ? basename($_SERVER['PHP_SELF']) : '';
$phpself = trim($phpself, '.php');
// blok akses jika karakter yang tidak diinginkan ditemukan di nama file
if(preg_match("/:|;|'|\(|\)/", $phpself)) $phpself = '';

// define cache file name
$cachefile = ($phpself != '') ? 'cache/'.$phpself.'.html' : '';

if(!empty($cachefile) && file_exists($cachefile)){
    // Atur waktu dalam hitungan menit
    $cachetime = 10 * 60; 
  

    if((filesize($cachefile) > 0) &&
      ((time() - $cachetime) < filemtime($cachefile))){
        // halaman yang telah di-cache dari permintaan sebelumnya
        // output isi dari file cache
        include_once($cachefile); 
        echo '<!-- Taken from cache at: '.date('H:i', filemtime($cachefile)).' -->';
        
        exit;
    }        
}
ob_start();   
?>

bagian kedua dari mekanisme cache, buat sebuah file dengan nama cache_bottom.php , kemudian copy script berikut ini :

<?php
// buka file cache untuk ditampilkan
if(!empty($cachefile)){
    $fp = @fopen($cachefile, 'w'); 
    // simpan isi buffer output ke file
    @fwrite($fp, ob_get_contents());
    @fclose($fp);         
}
ob_end_flush();    
?>

sekarang kita memasang kedua file php yang telah kita buat tersebut kedalam halaman HTML, caranya seperti dibawah ini :

<?php include("cache_top.php"); ?>

<html>
<head>
    <title>title</title>
</head>
<body>
    <h1>header</h1>
    <p>content halaman</p>
</body>
</html>

bagaimana sangat mudah bukan ?

Tutorial diatas adalah contoh cara Cache Hasil HTML dengan PHP secara sederhana, sebenarnya masih banyak lagi cara penggunaan cache, seperti menyimpan file tersebut mengunakan paramater.

saya harapakan jika anda membangun suatu website harus dipertimbangkan juga dari sisi usernya, jangan sampai user atau pengunjung menjadi bosan karena load data dari website anda terasa lambat

terimakasih sudah membca Cache Hasil HTML dengan PHP, mudah mudahan bermanfaat . terimakasih 

HAPPY CODING