Pada pengembangan platform, caching bisa sangat menyebalkan. Bisakah saya mematikannya? Apakah akan memengaruhi modul mana pun yang memerlukannya?
Instal modul devel yang menambahkan opsi cache yang jelas untuk administrator. Anda akan menemukan blok devel untuk ditambahkan ke wilayah untuk pembersihan cache cepat, atau jika Anda menginstal menu admin dan mendapatkan menu cepat di kiri atas untuk menghapus berbagai cache di Drupal.
Jika Anda suka menginstal baris perintah drush dan gunakan drush cc all
perintah untuk menghapus cache situs Anda. Berhati-hatilah bahwa cc drush saat ini tidak menghapus cache Varnish jika itu berlaku untuk pengaturan Anda.
Jika Anda menggunakan Drupal 7, Anda selalu dapat mengatur caching untuk menggunakan DrupalFakeCache, yang biasanya hanya digunakan selama proses instalasi. Untuk mengaturnya, lepaskan potongan kode berikut di settings.php Anda:
include_once(DRUPAL_ROOT . '/includes/cache.inc');
include_once(DRUPAL_ROOT . '/includes/cache-install.inc');
$conf['cache_default_class'] = 'DrupalFakeCache';
Halaman 'Kinerja' dalam administrasi> konfigurasi situs akan memungkinkan Anda untuk mengaktifkan / menonaktifkan caching elemen situs yang dipilih. Template tema biasanya di-cache lebih persisten tetapi dapat dibilas dalam halaman 'kinerja' yang sama.
Modul 'Administrasi menu' akan menyediakan jalan pintas di bilah alat jika cache flush perlu dilakukan lebih teratur - selama dev tema saya menemukan diri saya terus-menerus memerah.
Sejauh yang saya tahu tidak ada modul yang membutuhkan caching. Jika Anda tidak ingin mematikannya, Anda dapat menghapusnya di Site Settings > Performance
bagian.
Bahkan dengan caching yang dinonaktifkan, Drupal tidak akan mengenali file baru yang ditambahkan ke tema sampai Anda menghapus cache.
Ada beberapa informasi tentang berbagai cara untuk menghapus cache di Drupal.org
Selain metode yang disebutkan Steve H , menggunakan modul Devel membuka beberapa opsi lagi, termasuk:
Dengan modul Devel dan caching dimatikan di bawah Kinerja , satu-satunya cache utama lain yang akan Anda temui dalam pengembangan rutin adalah router menu, yang dapat dibangun kembali baik menggunakan Devel atau Menu Admin seperti yang disebutkan Steve.
Satu hal penting yang perlu diperhatikan adalah bahwa jika Anda memiliki banyak stylesheet (baik dari tema Anda atau dari modul), maka mematikan pengoptimalan file CSS berpotensi merusak situs Anda di IE.
Meskipun tidak benar-benar caching, ada di halaman pengaturan yang sama dan sering digunakan dengan caching.
Tautan "Siram semua cache" dalam modul menu admin sangat fantastis.
Jika Anda menggunakan Drupal 6, modul " Cache Disable " dapat berguna untuk tugas itu jika Anda tidak ingin [karena suatu alasan] untuk menginstal modul yang lebih berat seperti Devel.
sumber
Pertanyaan lama, tapi saya baru saja melihatnya muncul sebagai terkait dengan pencarian yang saya lakukan.
Hampir semua metode pembersihan cache akhirnya memanggil drupal_flush_all_caches pada akhirnya. Anda dapat bermain-main dengan memanggil ini dalam berbagai keadaan di kode Anda sendiri.
sumber
Jumlah cache yang digunakan dengan Drupal terkadang bisa menjadi gila.
Berikut adalah metode umum untuk menonaktifkan dan menghapus cache Drupal dan terkait dengannya.
CACHES DISABLING:
Perhatikan bahwa Anda tidak dapat menonaktifkan semua cache, karena beberapa di antaranya diperlukan oleh Drupal.
Berikut adalah metode menonaktifkan cache dengan menambahkan baris berikut ke file pengaturan Anda:
Jika Anda menonaktifkan semua cache, situs web Anda akan sangat lambat, jadi tidak disarankan untuk lingkungan lain yang mengecualikan mesin pengembangan Anda.
CLEARING CACHES
XCache
Hapus cache XCache jika digunakan:
Atau kosongkan cache di XCache di panel admin (/ xcache-admin) jika di atas tidak berfungsi.
eAccelerator
APC
OPCache
Hapus PHP OPCache jika menggunakan dengan PHP> = 5.5
Catatan: Di atas perintah CLI tidak akan menghapus cache untuk Apache, seperti: Opcache - Bersihkan cache di PHP5.4 dan lebih rendah .
memcached
Jika Anda menggunakan memcached, Anda harus menghapus, memulai kembali atau membunuh memcached Anda dengan salah satu metode:
Sebagai pengguna (salah satunya):
Sebagai root (salah satunya):
Disarankan juga untuk menginstal modul memcached dengan baris berikut di file pengaturan Anda:
Jadi cache Memcached dibersihkan pada cache Drupal clear standar.
Pernis
Jika Anda menggunakan Varnish, disarankan untuk menginstal modul Varnish dan mengatur baris berikut di file pengaturan Anda:
Jadi Varnish cache akan dihapus bersama pada cache Drupal clear.
Sebagai alternatif, Anda dapat menggunakan ikal untuk membersihkan halaman secara manual:
Baca selengkapnya: Bagaimana saya bisa menghapus cache Varnish?
Drupal
Hapus cache Drupal melalui drush:
Anda dapat melakukan hal yang sama di / admin / config / development / performance, karena kadang-kadang cache UI dihapus dengan cara yang lebih baik daripada dari CLI.
Berikut ini adalah skrip shell yang berguna untuk membersihkan semua cache:
sumber
kita dapat menggunakan salah satu metode berikut untuk menghapus cache di drupal
1.) Kami cukup mengunjungi url domain_anda / admin / config / pengembangan / kinerja dan klik tombol hapus cache.
2.) Jika Kita telah menginstal modul drush kita dapat membersihkan cache dengan perintah drush cc all ini .
3.) Jika Kami memiliki akses basis data, kami dapat menghapus cache dengan perintah berikut (akses langsung ke basis data produksi dengan tegas tidak disarankan; gunakan salah satu alternatif sebagai gantinya jika situs Anda "langsung")
TRUNCATE TABLE cache;
TRUNCATE TABLE cache_block;
TRUNCATE TABLE cache_bootstrap;
TRUNCATE TABLE cache_field;
TRUNCATE TABLE cache_filter;
TRUNCATE TABLE cache_form; // perhatikan perbedaan penting dari tabel cache_ * lainnya - lihat info lebih lanjut di bawah ini
TRUNCATE TABLE cache_image;
TRUNCATE TABLE cache_menu;
TRUNCATE TABLE cache_page;
TRUNCATE TABLE cache_path;
TRUNCATE TABLE cache_token;
TRUNCATE TABLE cache_update;
4.) Kita juga dapat menulis kueri di file modul db_query ("DELETE FROM {cache};");
5.) Kita dapat menggunakan api drupal untuk membersihkan cache seperti cache_clear_all ()
6.) Kita juga dapat menghapus cache dengan modul devel menginstal modul devel dan mengaktifkan "Pengembang / Pengembangan Blok" dengan ini kita dapat menghapus cache
Info selengkapnya tentang cache_form, yang memiliki tujuan berbeda dari tabel cache_ lainnya :
inti api docs untuk drupal_flush_all_caches () mengatakan "Jangan hapus cache_form - pengiriman formulir yang sedang berlangsung dapat rusak." Kekhawatiran ini hanya berlaku untuk situs dengan pengguna aktif dan tidak untuk versi pengembangan.
metode manual lain untuk menghapus cache yang dijelaskan dalam posting ini tidak akan memengaruhi cache_form
jika Anda perlu mengecilkan ukuran cache_form di situs produksi, lihat Ukuran tabel Cache Form sangat besar
sumber