It’s Just Simple Cache Object

Skrip nie bertujuan agar performa dan kecepatan sistem meningkat. Saya coba tuk membuat sebuah cache dengan skrip PHP, walaupun tidak persisten tapi dari pengalaman penulis, ini dapat meningkatkan performa dari sistem karena sistem tidak secara langsung ngambil data dari database tapi dari cache yang sudah dipersiapkan walaupun cache itu juga disimpan dalam bentuk file. Cache Objek, adalah istilah yang dibuat oleh penulis sendiri yaitu tempat menyimpan objek. Sebenarnya Ide nya cukup sederhana yaitu membuat objek data dan kemudian menyimpannya ke dalam file. Penyimpanan ke file tentu saja memakai fungsi serialisasi yang akan membuat struktur data objek tidak rusak. Setelah dipikir-pikir ide ini mirip konsep ORM (Objek Relational Mapping).Berikut adalah skrip nya:
// file artikel.php
// author: muse
// tanggal : 25 Feb 2010
class artikel{
var $id;
var $penulis;
var $tanggal;
var $isi;
function artikel($id,$penulis,$tanggal,$isi){
$this->id=$id; $this->penulis=$penulis; $this->tanggal=$tanggal; $this->isi=$isi;
}
function getId(){
return $this->id;
} function getPenulis(){
return $this->penulis;
}
function getTanggal(){
return $this->tanggal;
}
function getIsi(){
return $this->isi;
}
}

// file artikels.php
// author: muse
// tanggal : 25 Feb 2010
class artikels{
var filename="cache_artikel.txt";
var arts;
function artikels(){
$this->arts=$this->_getBase();
}
function _getBase() {
return unserialize(file_get_contents($this->filename));
}
function fillCache($id,$penulis,$tanggal,$isi){
$art=new artikel($id,$penulis,$tanggal,$isi); $this->arts[$id]=$art;
}
function getArtikels($asArray=false) {
if($asArray) return @array_keys($this->arts);
else return @implode("
",@array_keys($this->arts));
}
function _save() {
$fp=@fopen($this->filename,''w'');
@fwrite($fp,serialize($this->users));
@fclose($fp);
}
}

cache_artikel.txt merupakan file cache tuk menampung data dari tabel artikel di database. Tiap kali objek artikels dibuat, fungsi _getBase() akan secara otomatis dijalankan yang itu berarti menunserialisasi isi dari file cache_artikel.txt.
// file DB2Cache
// author: muse
// tanggal : 25 Feb 2010

function refreshCache(){
include "connectDB.php";
$obj=new artikels();
$query="select id,penulis,tanggal,isi from artikel";
while($data=mysql_fetch_array()){ $obj->fillCache($data[''id''],$data[''penulis''],$data[''tanggal''],$data[''isi'']);
}
}
function getChache(){
return $obj->getArtikels();
}

fungsi refreshCache() akan mengambil data dari tabel artikel dan kemudian menyimpannya ke dalam cache melalui fungsi fillCache di class artikels. n fungsi getCache() untuk mengambil data di cache file.

Leave a Comment

* are Required fields



Free Web Hosting