यह देखते हुए कि हरोकू सीडर के पास वार्निश द्वारा प्रदान की गई http कैशिंग नहीं है, मैं Rack::Cache
का उपयोग करना चाहता हूं। मुझे बताया गया है कि रेल 3.1.1 Rack::Cache
सक्रिय है डिफ़ॉल्ट रूप से, मैं सिर्फ विन्यास में है करने के लिए सुनिश्चित करने की आवश्यकता:रेल 3.1 और एचटीपी पेज कैशिंग
config.action_controller.perform_caching = true
और मैं इस प्रयोग मैं कर रहा हूँ के लिए, एक कैश की दुकान लेने के लिए की जरूरत है का उपयोग करते हुए:
response.header['Cache-Control'] = 'public, max-age=300'
response.header['Expires'] = CGI.rfc1123_date(Time.now + 300)
इस्तेमाल किया इस कोड Varni के साथ ठीक काम करने के लिए:
config.cache_store = :memory_store
पेज की कार्रवाई में मैं कैश करने के लिए मैं निम्नलिखित लाइनों को जोड़ दिया है चाहता हूँ sh, पहला अनुरोध 200 लौटाएगा और बाद में (5 मिनट के लिए) 304
लौटाएगा।
यह रेल 3.1 और हेरोकू सीडर स्टैक के साथ नहीं होता है। मुझे प्रतिक्रिया में उन शीर्षलेख मिलते हैं लेकिन बाद के अनुरोध 304 के बजाय 200 लौटाते हैं।
मैं क्या गलत कर रहा हूं? धन्यवाद।
आप सही हैं !!!! क्या थोड़ा उच्च स्तर पर कैश करने का कोई तरीका है? यह इसके लायक है? (उदाहरण के लिए यदि मैं रेल ऐप से पहले config.ru में एक रैक :: कैश सेट करता हूं?) – soulnafein
वास्तव में नहीं ... रैक :: कैश आपकी सबसे अच्छी शर्त है। बस अपने पर्यावरण में जितना ऊंचा हो उतना ऊंचा हो और आपको वह प्रदर्शन देना चाहिए जो आपको चाहिए, यह पूरे रेल http स्टैक से बचाता है। – leonardoborges
ओह और मैं सराहना करता हूं अगर आप मूल जवाब को वोट दे सकते हैं यदि यह आपकी मदद करता है :) – leonardoborges