Tutorial Membuat Sistem HDD Cache dengan PHP

Sistem HDD Cache adalah salah satu cara untuk meringankan kinerja CPU dalam melakukan proses algoritma dalam web dinamis. Sistem ini dapat digunakan untuk mempercepat akses halaman web dinamis.

Proses kerjanya adalah sebagai berikut.

  1. Ketika web diakses pertama kali, Algoritma web akan diproses oleh CPU dan hasil halaman web akan disimpan ke Harddisk server
  2. Selanjutnya saat web diakses kembali untuk kedua kalinya dan seterusnya hingga batas waktu tertentu, halaman web akan diambil dari Cache yang telah ada di Harddisk server sebelumnya
  3. Ketika waktu cache habis, maka kembali ke langkah nomor 1

Dengan metode HDD cache ini, kecepatan web menjadi lebih stabil walaupun diakses oleh ribuan atau jutaan pengunjung perdetiknya.

Berikut adalah cara membuat web statis dengan sistem HDD Cache.
Buat direktori khusus misalnya library dan cache. Direktori library ini berguna untuk menyimpan 3 file yang diberi nama top-cache.php, seourl.php dan bottom-cache.php yang berisi skrip HDD cache. File top-cache.php berisi skrip untuk mengaktifkan penyimpanan tampilan HTML web dan memeriksa cache file, yang harus di-include-kan diatas skrip web Anda. Sedangkan file bottom-cache.php berisi skrip untuk menyimpan file cache pada HDD. File seourl.php digunakan untuk konversi URL menjadi permalink URL yang cocok untuk nama dari file cache yang disimpan
Untuk direktori cache digunakan untuk menyimpan file statis website.

Kode pertama berikut disimpan dengan nama file top-cache.php

<?php
$urlcache = $_SERVER[‘REQUEST_URI’];
$breakcache = explode(‘/’, $urlcache);
foreach($breakcache as $joincache)
{$filecache=seourl($filecache).’-‘.seourl($joincache);}
$cachefile = ‘./cache/T’.seourl($filecache).’.html’;
$cachetime = rand(300,90000);

if (file_exists($cachefile) && time() – $cachetime < filemtime($cachefile)) {
include($cachefile);
exit;
}
ob_start();
?>

Silahkan letakkan file tersebut di awal kode web anda.

Selanjutnya kode kedua dengan nama file bottom-cache.php diletakkan paling bawah kode web anda.
<?php
$cached = fopen($cachefile, ‘w’);
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush();
?>

Berikut adalah file seourl.php
<?php
function seourl($s) {
$c = array (‘ ‘,’\\’,’,’,’#’,’:’,’;’,’\”,'”‘,'[‘,’]’,'{‘,
‘}’,’)’,'(‘,’|’,’`’,’~’,’!’,’@’,’%’,’$’,’^’,’&’,’*’,’=’,’?’,’+’,’é’,’_’);
$s = strtolower(str_replace($c, ‘-‘, $s));
$panjangdiv=strlen($s);
$isi=explode(“–“,$s);
for($i=0;$i<$panjangdiv;$i++)
{
$s = str_replace(‘–‘,’-‘,$s);
$s = str_replace(‘—‘,’-‘,$s);
}
return $s;
}
?>

Hasilnya menjadi seperti ini (misal kode diletakkan di file index.php – File umum di web berbasis CMS)
<?php
include’./library/seourl.php’;
include’./library/top-cache.php’;
/* Skrip web Anda */
include’./library/bottom-cache.php’;
?>

Skrinsut kode seperti berikut.

File top-cache.php

File seourl.php

File bottom-cache.php

Share this post:

Recent Posts

Comments are closed.