Panada Framework 0.3.1 Documentation

Cache

Saat ini, driver Obeject Cache yang sudah tersedia adalah APC, Memcache dan Memcached.

Sebelum menggunakan library cache, terlebih dahulu harus dilakukan konfigurasi. Bagian konfigurasi database terletak pada file apps/config.php.

Konfigurasi

Bagian-bagian yang harus dilengkapi nama_koneksi dan driver.

$CONFIG['cache']['nama_koneksi']['driver'] = 'driver';

Saat ini pilihan driver yang tersedia adalah apc, memcache dan memcached.

Sebagai contoh jika ingin mengunakan APC sebagai cache, maka konfigurasinya adalah:

$CONFIG['cache']['default']['driver'] = 'apc';

Nilai default pada konfigurasi di atas menunjukan koneksi cache default. Jika Anda menginginkan koneksi cache yang lain silahkan tambahkan nama baru pada bagian ini. Sebagai contoh:

Inisialisasi

Berikut adalah contoh membuat instance untuk DB baik itu di dalam model ataupun controller:

Method

Untuk berinteraksi dengan cache driver, berikut adalah API yang tersedia:

set_value

Melakukan penyimpanan data yang akan di-cache.

mix $this->cache->set_value($key, $value, $expire = 0, $namespace = false);

Parameter

Variable Tipe Data Keterangan
$key string Nama key unik sebagai identifier cache.
$value mix Nilai yang akan disimpan ke dalam cache.
$expire int Berapa lama cache akan disimpan dalam satuan detik.
$namespace string Key dari namespace yang ingin digunakan.

add_value

Melakukan penyimpanan data yang akan di-cache hanya jika key yang diberikan belum pernah digunakan sebelumnya. Jika ternyata key-nya sudah digunakan maka nilai returnnya adalah false.

mix $this->cache->add_value($key, $value, $expire = 0, $namespace = false);

Parameter

Variable Tipe Data Keterangan
$key string Nama key unik sebagai identifier cache.
$value mix Nilai yang akan disimpan ke dalam cache.
$expire int Berapa lama cache akan disimpan dalam satuan detik.
$namespace string Key dari namespace yang ingin digunakan.

update_value

Melakukan update data yang sudah di-cache berdasarkan key yang diberikan.

mix $this->cache->update_value($key, $value, $expire = 0, $namespace = false);

Parameter

Variable Tipe Data Keterangan
$key string Nama key unik sebagai identifier cache.
$value mix Nilai yang akan disimpan ke dalam cache.
$expire int Berapa lama cache akan disimpan dalam satuan detik.
$namespace string Key dari namespace yang ingin digunakan.

get_value

Mendapatkan data yang sudah di-cache berdasarkan key yang diberikan.

mix $this->cache->get_value($key, $namespace = false);

Parameter

Variable Tipe Data Keterangan
$key string Nama key unik sebagai identifier cache.
$namespace string Key dari namespace yang ingin digunakan.

delete_value

Menghapus data yang sudah di-cache berdasarkan key yang diberikan.

mix $this->cache->delete_value($key, $namespace = false);

Parameter

Variable Tipe Data Keterangan
$key string Nama key unik sebagai identifier cache.
$namespace string Key dari namespace yang ingin digunakan.

flush_values

Menghapus semua data yang sudah di-cache.

bool $this->cache->flush_values();

Namespace

Namespace bisa dignakan jika Anda ingin melakukan modifikasi data cache dengan beberapa key yang berbeda-beda secara bersamaan.

Sebagai contoh jika ada sebuah data yang Anda tampilkan dengan cara paging. Setiap halaman dapat menampung 10 data dimana data ini kemudian disimpan ke dalam cache. Key dari masing-masing halaman misalnya comment_page_1, comment_page_2, comment_page_3 ... dst. Jika ada data baru yang ingin ditambahkan dan semua data ini perlu di flush, maka untuk melakukan hal ini cukup dengan menghapus namespace-nya saja. Berikut adalah contohnya:

API Spesifik Driver

Selain dari API yang sudah disediakan, Anda juga bisa menggunakan API yang tersedia dari masing-masing driver.

Diskusi