Panada Framework 1.0.0 Documentation

APC

APC (Alternative PHP Cache) adalah modul tambahan di PHP yang dibuat dengan tujuan untuk melakukan caching dan optimalisasi aplikasi.

Bahkan tanpa melakukan perubahan apapun di sisi aplikasi, penggunaan APC dapat meningkatkan performa secara signifikan. Karena itu, sangat disarankan untuk mengaktifkan feature ini di PHP environment Anda.

Untuk menggunakan Library ini, pastikan PHP Anda telah terinstall ekstensi APC. Untuk panduan instalasi, silahkan lihat di halaman ini http://www.php.net/manual/en/apc.installation.php

Inisialisasi

Konfigurasi driver APC di dalam file app/config/cache.php

Inisialisasi Library APC bisa dilakukan di dalam constructor ataupun method yang bersangkutan.

$this->apc = new Resources\Cache();

Matrik Method

Secara natif, APC API datang dengan beberapa fungsi. Untuk kemudahan akses, Panada merubah fungsi-fungsi ini menjadi method-method dari class Driver APC. Hal ini untuk menjaga konsistensi penggunaan fungsi-fungsi yang telah disediakan sehingga tidak ada perbedaan cara pakai antara Driver APC Panada dengan fungsi APC natif. Berikut adalah matrik perubahannya:

PHP APC Native Function Panada Driver APC Methods Deskripsi Manual
apc_add() $this->apc->apc_add() Menyimpan data yang akan dicache dengan key yang belum pernah ada. http://www.php.net/manual/en/function.apc-add.php
apc_bin_dump() $this->apc->apc_bin_dump() Mendapatkan dump binary dari nama file dan variable yang diberikan. http://www.php.net/manual/en/function.apc-bin-dump.php
apc_bin_dumpfile() $this->apc->apc_bin_dumpfile() Menjadikan file dari output fungsi apc_bin_dump(). http://www.php.net/manual/en/function.apc-bin-dumpfile.php
apc_bin_load() $this->apc->apc_bin_load() Menyimapn binary dump ke dalam APC file/user cache. http://www.php.net/manual/en/function.apc-bin-load.php
apc_bin_loadfile() $this->apc->apc_bin_loadfile() Menyimapn file binary dump ke dalam APC file/user cache. http://www.php.net/manual/en/function.apc-bin-loadfile.php
apc_cache_info() $this->apc->apc_cache_info() Mendapatkan informasi cache dari APC data store. http://www.php.net/manual/en/function.apc-cache-info.php
apc_cas() $this->apc->apc_cas() Update nilai cache lama ke yang baru berdasarkan key yang diberikan. http://www.php.net/manual/en/function.apc-cas.php
apc_clear_cache() $this->apc->apc_clear_cache() Menghapus semua cache yang sudah tersimpan di APC data store. http://www.php.net/manual/en/function.apc-clear-cache.php
apc_compile_file() $this->apc->apc_compile_file() Menyimpan sebuah file ke dalam bytecode cache. http://www.php.net/manual/en/function.apc-compile-file.php
apc_dec() $this->apc->apc_dec() Melakukan pengurangan nilai integer cache secara berurutan. http://www.php.net/manual/en/function.apc-dec.php
apc_define_constants() $this->apc->apc_define_constants() Mendeklarasikan konstanta dan menyimpannya ke dalam APC data store. http://www.php.net/manual/en/function.apc-define-constants.php
apc_delete_file() $this->apc->apc_delete_file() Menghapus file yang dicache. http://www.php.net/manual/en/function.apc-delete-file.php
apc_delete() $this->apc->apc_delete() Hapus cache berdasarkan key yang diberikan. http://www.php.net/manual/en/function.apc-delete.php
apc_exists() $this->apc->apc_exists() Melakukan pengecekan apakah key yang diberikan sudah digunakan sebelumnya. http://www.php.net/manual/en/function.apc-exists.php
apc_fetch() $this->apc->apc_fetch() Mendapatkan variable yang disimpan dicache berdasarkan key yang diberikan. http://www.php.net/manual/en/function.apc-fetch.php
apc_inc() $this->apc->apc_inc() Melakukan penambahan nilai integer cache secara berurutan. http://www.php.net/manual/en/function.apc-inc.php
apc_load_constants() $this->apc->apc_load_constants() Mendapatkan konstanta yang disimpan ke dalam APC data store. http://www.php.net/manual/en/function.apc-load-constants.php
apc_sma_info() $this->apc->apc_sma_info() Mendapatkan alokasi memori yang digunakan oleh APC. http://www.php.net/manual/en/function.apc-sma-info.php
apc_store() $this->apc->apc_store() Menyimpan data yang akan dicache. Jika key yang digunakan sebelumnya sudah pernah ada, maka datanya akan digantikan. http://www.php.net/manual/en/function.apc-store.php

Berikut penjelasan lebih lanjut beberapa method yang umumnya sering digunakan.

apc_add

Menyimpan data yang akan dicache dengan key yang belum pernah ada.

bool $this->apc->apc_add($key, $var, $ttl = 0);

Parameter

Variable Tipe Data Keterangan
$key string Key unik sebagai identitas penanda item yang dicache.
$var mix string | integer | array | object | boolan Data yang ingin dicache.
$ttl Integer Waktu yang menunjukan berapa lama item di cache. Format waktu dalam satuan detik. Nilai defaultnya adalah 0, yang berarti cache disimpan selama mungkin.

apc_store

Menyimpan data yang akan dicache. Jika key yang digunakan sebelumnya sudah pernah ada, maka datanya akan digantikan.

bool $this->apc->apc_store($key, $var, $ttl = 0);

Parameter

Variable Tipe Data Keterangan
$key string Key unik sebagai identitas penanda item yang dicache.
$var mix string | integer | array | object | boolan Data yang ingin dicache.
$ttl Integer Waktu yang menunjukan berapa lama item di cache. Format waktu dalam satuan detik. Nilai defaultnya adalah 0, yang berarti cache disimpan selama mungkin.

apc_fetch

Mendapatkan data yang sudah dicache.

mixed $this->apc->apc_fetch($key);

Parameter

Variable Tipe Data Keterangan
$key mix string | array Key unik sebagai identitas penanda item yang dicache. Jika ingin mendapatkan dari beberapa key sekaligus, simpan masing-masing key-nya ke dalam array.

apc_delete

Hapus item yang sudah dihapus dari cache berdasarkan key-nya.

bool $this->apc->apc_delete($key)

Parameter

Variable Tipe Data Keterangan
$key string Key dari cache yang akan dihapus.

apc_clear_cache

Hapus semua item cache.

bool $this->apc->apc_clear_cache($cache_type);

Parameter

Variable Tipe Data Keterangan
$cache_type string Jika nilai variable $cache_type adalah user, maka cache yang dihapus adalah semua cache yang sebelumnya Anda simpan. Selain itu sistem cache (cache file) yang akan dihapus.

apc_inc

Melakukan penambahan nilai incremental berdasarkan nilai item yang ada di cache.

int $this->apc->apc_inc($key, $step = 1, $success);

Parameter

Variable Tipe Data Keterangan
$key string Key dari item yang dicache.
$step Integer Nilai integer penambah.
$success boolean Variable opsi untuk passing boolean return value.

apc_dec

Melakukan pengurangan nilai decremental berdasarkan nilai item yang ada di cache.

int $this->apc->apc_dec($key, $step = 1, $success);

Parameter

Variable Tipe Data Keterangan
$key string Key dari item yang dicache.
$step Integer Nilai integer pengurang.
$success boolean Variable opsi untuk passing boolean return value.

Contoh

Berikut adalah contoh penggunaan dari masing-masing method di atas.

Diskusi