Menyiapkan Cache Hal pertama yang dilakukan adalah menghidupkan cache dengan menyetel $caching = 1 (atau 2). Menghidupkan cache caching = 1; $smarty->display('index.tpl'); ?> ]]> Dengan menghidupkan cache, fungsi panggil ke display('index.tpl') akan membuat template seperti biasa, tapi juga menyimpan duplikat dari outputnya ke sebuah file (duplikat cache) dalam $cache_dir. Panggilan berikutnya ke display('index.tpl'), duplikat cache akan dipakai daripada membuat template kembali. Catatan Teknis File dalam $cache_dir diberi nama mirip dengan nama template. Meskipun berakhir dalam ekstensi .php, ini tidak dimaksudkan dijalankan secara langsung. Jangan edit file ini! Setiap halaman yang di-cache memiliki batasan usia yang ditentukan oleh $cache_lifetime. Nilai standarnya adalah 3600 detik atau satu jam. Setelah itu waktu berakhir, cache dibuat ulang. Dimungkinkan untuk memberikan cache individual memiliki waktu berakhirnya dengan menyetel $caching=2. Lihat $cache_lifetime untuk lebih jelasnya. Menyetel $cache_lifetime per cache caching = 2; // usia per cache // set cache_lifetime untuk index.tpl ke 5 menit $smarty->cache_lifetime = 300; $smarty->display('index.tpl'); // set cache_lifetime untuk home.tpl ke 1 jam $smarty->cache_lifetime = 3600; $smarty->display('home.tpl'); // CATATAN: setelan $cache_lifetime berikut tidak akan bekerja saat $caching = 2. // Usia cache untuk home.tpl sudah disetel ke 1 jam, dan tidak akan memperhatikan // nilai lagi $cache_lifetime. // Cache home.tpl masih akan berakhir setelah 1 jam. $smarty->cache_lifetime = 30; // 30 seconds $smarty->display('home.tpl'); ?> ]]> Jika $compile_check dihidupkan, setiap file template dan file config yang terkait dengan file cache diperiksa modifikasinya. Jika setiap file sudah dimodifikasi sejak cache dibuat, cache segera dibuat ulang. Ini adalah beban kecil untuk performansi optimal, set $compile_check ke &false;. Menghidupkan $compile_check caching = 1; $smarty->compile_check = true; $smarty->display('index.tpl'); ?> ]]> Jika $force_compile dihidupkan, file cache akan selalu dibuat. Ini efektif mematikan cache. $force_compile biasanya hanya untuk keperluan debugging, cara yang lebih efisien mematikan cache adalah menyetel $caching = 0. Fungsi is_cached() dapat digunakan untuk menguji jika template memiliki cache yang benar atau tidak. Jika anda memiliki template yang di-cache yang memerlukan hal seperti pengambilan database, anda bisa menggunakan ini untuk melewati proses itu. Menggunakan is_cached() caching = 1; if(!$smarty->is_cached('index.tpl')) { // Cache tidak tersedia, lakukan penempatan variabel di sini. $contents = get_database_contents(); $smarty->assign($contents); } $smarty->display('index.tpl'); ?> ]]> Anda dapat memelihara bagian halaman dinamis dengan fungsi template {insert}. Katakanlah seluruh halaman dapat di-cache kecuali untuk iklan yang ditampilkan di bawah halaman. Dengan menggunakan fungsi {insert} untuk iklan, anda bisa memelihara elemen ini dinamis dalam konten yang di-cache. Lihat dokumentasi pada {insert} untuk lebih jelas dan contohnya. Anda bisa membersihkan semua file cache dengan fungsiclear_all_cache(), atau file cache individual dan grup dengan fungsi clear_cache(). Membersihkan cache caching = 1; // bersihkan hanya cache untuk index.tpl $smarty->clear_cache('index.tpl'); // bersihkan semua file cache $smarty->clear_all_cache(); $smarty->display('index.tpl'); ?> ]]>