मेरे पास एक Django एप्लिकेशन के तहत कई साइटें हैं जिन्हें मैं साइट वाइड कैशिंग को कार्यान्वित करना चाहता हूं। हालांकि यह एक वास्तविक परेशानी साबित हो रहा है।Django - एकाधिक साइट्स साइट कैशिंग
क्या होता है कि settings.CACHE_MIDDLEWARE_KEY_PREFIX
स्टार्टअप पर एक बार सेट किया गया है, और मैं आगे नहीं जा सकता और वर्तमान साइट के आधार पर इसे बदल नहीं सकता। नतीजतन यदि यूआरएल http://website1.com/abc/
का एक पृष्ठ कैश किया गया है तो http://website2.com/abc/
http://website1.com/abc/
के कैश किए गए संस्करण को प्रस्तुत करता है। ये दोनों वेबसाइटें एक ही Django उदाहरण पर चल रही हैं क्योंकि यह है कि Django साइटें हमें ऐसा करने की अनुमति देती हैं।
क्या यह एक गलत दृष्टिकोण है? क्योंकि मैं रनटाइम के दौरान गतिशील रूप से CACHE_MIDDLEWARE_KEY_PREFIX
सेट नहीं कर सकता क्योंकि मैं Django की साइट वाइड कैशिंग का उपयोग करके कई साइटों को कैश करने में असमर्थ हूं। मैं टेम्पलेट के लिए ऐसा करने में असमर्थ हूं और कैशिंग देख रहा हूं।
मुझे यह धारणा मिलती है कि जिस तरह से इसे वास्तव में स्थापित करने की आवश्यकता है, वह यह है कि प्रत्येक साइट को अपने स्वयं के Django इंस्टेंस की आवश्यकता होती है जो सेटिंग्स फ़ाइल को छोड़कर काफी समान है, जो मेरे मामले में केवल CACHE_MIDDLEWARE_KEY_PREFIX
के मान से अलग होगा। ये Django सभी पढ़ते हैं और एक ही डेटाबेस को लिखते हैं। यह मुझे चिंतित करता है क्योंकि यह कई नए मुद्दों को बना सकता है।
क्या मैं सही रास्ते पर जा रहा हूं या क्या मुझे गलती है कि बहु साइट आर्किटेक्चर को कैसे काम करने की आवश्यकता है? मैंने Django दस्तावेज़ों की जांच की है और Django अनुप्रयोगों के लिए कैशिंग को संभालने के तरीके का वास्तविक उल्लेख नहीं है (जो निम्न स्तर पर कैशिंग है) जो कई साइटों को सेवा प्रदान करता है।
आपको लगता है कि के लिए एक समाधान मिला py KEY_FUNCTION तर्क जोड़ सकता हूँ? –