dsmndhm Mesela route:cache yaptığınızda rotalarınız derlenir ve tek bir dosyada önbelleğe alınır. Bu sayede rotaların bir miktar da olsa hızlı çalışmasını sağlamış olursunuz fakat bunu kendi bilgisayarınızda yapmanıza gerek yok çünkü kendi bilgisayarınızda zaten hızlı çalışıyor. Bu diğer cache komutları için de geçerli.
Kendi bilgisayarınızda yapsanız bir faydası olur mu?
Olmaz, rota 20 ms yerine 15 ms'de yanıt verir, doğal olarak farkı anlamazsınız. Bir de biraz hızlı çalışsa ne olur? Sonuçta geliştirme yapıyorsunuz...
Kendi bilgisayarınızda yapsanız bir zararı olur mu?
Forumda gördüğünüz üzere zararı oluyor, sorunu siz çıkartıyorsunuz:
- *:cache komutlarından birini çalıştırıyorsunuz, sonra dosyada değişiklik yapıyorsunuz ama cache çalıştırdığınızı unutuyorsunuz, sonra foruma gelip rotam çalışmıyor kafayı yiyecem diye konu açıyorsunuz.
- Kafayı yiye yiye öğrendiniz diyelim, bu sefer de her değişiklikte tekrar cache çalıştırmak zorunda kalacaksınız. Niye?
Zaten dokümanda da production için diye yazıyor:
https://laravel.com/docs/10.x/routing#route-caching
Öyleyse ne yapıyoruz? Geliştirme ortamında yani bilgisayarımızda bir kere php artisan optimize:clear
çalıştırıyoruz ve bu komutları bir daha kullanmıyoruz. Prod için php artisan optimize
komutunu en son task olarak ekleyip her deploy sonrası çalışmasını sağlıyoruz.
Bu, forumda herhalde en çok tekrar ettiğim şeydir 🙂
Not: optimize komutu tüm *:cache komutlarını tek seferde çalıştırır; optimize:clear ise cache temizleyen tüm komutları tek seferde çalıştırır.