Panduan kali ini akan membincangkan pengenalan kepada fungsi dan mekanisma cache dalam Drupal untuk memecutkan laman. Selalunya panduan ini lebih berminat dibaca oleh golongan pembangun sistem tetapi sebagai pemilik laman, anda seharusnya mengetahui proses dan tatakerja cache dilakukan dalam Drupal.

Perkara asas mengenai "cache"

Cache digunakan untuk meningkatkan prestasi laman Drupal. Berbanding situasi yang mana sistem sentiasa memproses data yang sama berulang kali setiap kali permintaan terhadapsatu-satu laman dicetuskan, cache akan menyimpan hasil terakhir penghasilan laman yang selalu dikunjungi dalam bentuk statik.

Data-data ini disimpan di satu tempat yang khas dan sesuai. Apabila permintaan kedua pada laman yang sama dilakukan, hasil yang disimpan menerusi cache akan dihantar yang akan melangkau proses pemprosesan sebelum ini agar paparan maklumat dibentangkan dengan lebih cepat.

Walau bagaimanapun, sistem cache ini akan mempunyai kesan "basi" untuk data-data terbaru. Dengan erti kata lain, data-data yang dipaparkan adalah hasil dari maklumat yang lama yang disimpan terdahulu walaupun telah terdapat maklumat terbaru yang sepatutnya dipaparkan.

Masalah ini mengelirukan pihak pembangun kerana mereka mahu melihat hasil yang dilakukan setiap kali perubahan dilakukan. Panduan kali ini diharapkan dapat mengurangkan tahap kekeliruan semua pembangun Drupal.

Apa yang dicache? Di mana cache dilakukan? Dan bagaimana?

Drupal menyimpan cache melalui dua cara yang berbeza iaitu:

#1. Melalui penyimpanan fail-fail

Drupal berupaya untuk mengabungkan dan memampatkan ke semua fail-fail luaran CSS (yang wujud dalam sesetengah modul dan templat) bagi mengurangkan bilangannya. Pada keadaan biasa, bilangan fail-fail CSS mungkin lebih daripada satu menjadikan bilangan proses permintaan dan muat turun turut bertambah.

Bilangan permintaan (request) yang banyak akan meningkatkan masa untuk satu-satu laman dilengkapkan. Melalui proses pemampatan dan pengabungan, hasil terakhir akan dijadikan hanya satu fail CSS luaran sahaja.

Selain fail CSS, fungsi cache ini boleh dilakukan untuk fail Javascript. Perbezaannya, untuk fail Javascript ianya hanya digabungkan tapi tidak dimampatkan. Ikuti langkah berikut untuk mengaktifkan fungsi cache ini.

  1. Pastikan dahulu fungsi muat turun sistem Drupal anda ditetapkan kepada "Public" (tetapan ini boleh berada: Administer Site configuration File system). Sistem tidak membenarkan fungsi cache dilakukan selagi tetapan ini tidak dilakukan.
  2. Seterusnya navigasi ke: Administer Site configuration Performance
  3. Di bahagian "Bandwidth optimizations", tandakan pilihan "Enable" untuk kedua-dua pilihan CSS dan Javascript. Pastikan fungsi ini hanya untuk laman yang sudah siap dibangunkan.

#2. Melalui pangkalan data

Lokasi untuk penyimpanan data cache Drupal adalah dibahagian jadual istimewa dalam pangkalan data. Sistem Drupal akan menghasilkan tujuh (7) jadual tambahan untuk penyimpanan data ini. Modul lain mungkin akan menghasilkan jadualnya tersendiri.

Ketujuh-tujuh jadual tambahan tersebut adalah:

cache

Untuk penyimpanan data cache secara global dan boleh digunakan oleh mana-mana modul tambahan. Modul tambahan yang hanya memerlukan dua atau tiga baris simpanan data cache akan memuatkannya di sini. Sistem Drupal akan menyimpan jenis-jenis data berikut:

  1. data pemboleh ubah -- data-data ditetapkan oleh kod aturcara variable_set()
  2. data pendaftaran templat -- fungsi-fungsi yang ditulis tindah (overriding function) dari templat terhadap fungsi asal yang dikeluarkan oleh Drupal atau modul tambahan akan disimpan
  3. data skema -- struktur binaan Drupal disimpan termasuk modul-modul tambahan, struktur pangkalan data dan tatakerja modul

cache_block

Jadual ini akan menyimpan data cache untuk setiap blok. Ia menjimatkan masa dengan melangkau proses permintaan dan pemprosesan kuari setiap kali laman dipersembahkan. Sekiranya terdapat perubahan pada kandungan blok, data cache yang baru akan dihasilkan dan disimpan. Ini termasuklah satu-satu kandungan "node", komen, pengguna atau taksonomi di hantar, dikemas kini atau dibuang.

Pengaktifan boleh dilakukan di Administer Site configuration Performance. Fungsi ini akan dimatikan sekiranya terdapat kengkangan atau kawalan terhadap akses kandungan.

cache_filter

Jadual yang menyimpan kandungan yang telah melalui pemprosesan tapisan kemasukan. Ia menjimatkan kerja sistem Drupal dari melakukan pengekodan untuk setiap kandungan yang tidak berubah setiap kali dipaparkan. Setiap kali "cron", kemas kini "node" dan kemaskini untuk "Input filter" akan mengaktifkan proses cache semula kandungan tersebut.

cache_form

Semua data-data yang berkaitan dengan borang penghantaran atau Drupal Form API akan di simpan di sini. Supaya Drupal tidak perlu untuk membina setiap borang penghantaran yang sama setiap kali dipaparkan.

cache_menu

Struktur dan hierraki menu akan di cache ke dalam jadual ini. Disebabkan struktur menu dalam Drupal boleh menjangkau kepada yang kompleks, ruangan ini menjimatkan masa Drupal untuk memanggil setiap kerangka dan struktur menu setiap kali dipanggil.

cache_page

Halaman dan data-data untuk paparan pelawat/tetamu akan disimpan di sini. Keadaan ini akan mengurangkan beban Drupal untuk melakukan beribu-ribu kuari yang sama untuk bilangan pelawat yang terlalu ramai pada satu-satu masa.

cache_update

Jadual khas yang menempatkan maklumat dan data-data mengenai modul dan templat yang dipasang di laman anda. Fungsi ini bagi mengelak proses penyenaraian ke semua modul atau templat yang mungkin berpuluh-puluh bilangan daripada dilakukan setiap kali. Terutamanya ketika proses kemas kini versi modul yang memerlukan proses perbandingan dengan drupal.org.
 

Penilaian: 
1
Average: 1 (1 vote)