आंशिक कैशिंग बहुत अधिक काम किए बिना कुछ प्रमुख पृष्ठ गति सुधार प्राप्त करने का एक शानदार तरीका है। लेकिन अगर आप touch: true
भूल जाते हैं आपकी किसी संबद्धता पर, या आपकी टेम्प्लेट निर्भरताएं ठीक से काम नहीं कर रही हैं, तो आपके कैश्ड आंशिक अपडेट नहीं होंगे।
चूंकि विकास का वातावरण आमतौर पर कैशिंग अक्षम के साथ चलता है, आप इसे केवल स्टेजिंग, या इससे भी बदतर, उत्पादन में ही खोज पाएंगे! समस्या को डीबग करने के लिए, आपको सेटिंग करके इसे विकास मोड में पुन:पेश करना होगा
config.action_controller.perform_caching = false
आपके config/environments/development.rb
. में करने के लिए true
. आपको हर बार कैशे की समस्याओं को डीबग करने के लिए ऐसा करना होगा, और चेक इन करने से पहले आपको इसे वापस बदलना याद रखना होगा। मुझे इस तरह की चीजें करने से नफरत है , इसलिए जब मैं एक नया प्रोजेक्ट शुरू करता हूं, तो मैं इसे इसके बजाय सेट करता हूं:
config.action_controller.perform_caching = ENV['CACHING'] == 'true'
इस तरह, जब भी मुझे आवश्यकता हो, मैं अपने रेल सर्वर को
. के साथ शुरू करके कैशिंग को सक्षम कर सकता हूंCACHING=true rails server
बस चल रहा है rails server
कैशिंग अक्षम के साथ चलेगा, हमेशा की तरह।
जैसे-जैसे आप कॉन्फ़िगरेशन मापदंडों को अधिक बार बदलना शुरू करते हैं, हार्डकोडेड मापदंडों को पर्यावरण चर में बदलने का यह पैटर्न आपको बहुत समय और फ़िडलिंग बचा सकता है। इसे अपने प्रोजेक्ट में आज़माएं!