चेकआउट shutils.rmtree() या os.removedirs()। मुझे लगता है कि सबसे पहले शायद आप क्या चाहते हैं।
अद्यतन कई टिप्पणियां के आधार पर: असल में, Django कैशिंग तंत्र अधिक सामान्य और महीन सुक्ष्म बस कुंजी के लिए path
का उपयोग कर (यद्यपि आप उस स्तर पर उपयोग कर सकते हैं) की तुलना में है। हमारे पास कुछ ऐसे पृष्ठ हैं जिनमें 7 या 8 अलग-अलग कैश किए गए सबकंपोनेंट हैं जो मानदंडों की एक श्रृंखला के आधार पर समाप्त हो जाते हैं। हमारे घटक कैश नाम कुंजी ऑब्जेक्ट्स (या ऑब्जेक्ट क्लास) को प्रतिबिंबित करते हैं और कुछ अद्यतनों पर अमान्य होने की आवश्यकता को पहचानने के लिए उपयोग किया जाता है।
हमारे सभी पृष्ठों में सदस्य/गैर-सदस्य स्थिति के आधार पर एक समग्र कैश-कुंजी है, लेकिन यह पृष्ठ का केवल 95% है। अन्य 5% प्रति सदस्य आधार पर बदल सकते हैं और इसलिए कैश नहीं किया जाता है।
अमान्य वस्तुओं को खोजने के लिए आप अपने कैश के माध्यम से कैसे पुनरावृत्ति करते हैं यह वास्तव में संग्रहीत करने का एक कार्य है। यदि यह फाइलें हैं तो आप बस ग्लोब और/या रिकर्सिव डायरेक्टरी डिलीट्स का उपयोग कर सकते हैं, अगर यह कुछ अन्य तंत्र है तो आपको कुछ और उपयोग करना होगा।
मेरा उत्तर, और दूसरों द्वारा कुछ टिप्पणियों का कहना है कि कैश अमान्यता को पूरा करने का तरीका यह है कि आप कैसे कैश का उपयोग/भंडारण कर रहे हैं।
दूसरा अपडेट: @andybak: तो मुझे लगता है कि आपकी टिप्पणी का मतलब है कि मेरी सभी वाणिज्यिक Django साइटें आग में विस्फोट करने जा रही हैं? उस पर सिर के लिए धन्यवाद। मैंने देखा है कि आपने समस्या का उत्तर नहीं दिया है।
Knipknap की समस्या वह कैश आइटम का एक समूह है कि दिखाई संबंधित करने के लिए किया जा और क्योंकि उनके नाम के एक पदानुक्रम में, लेकिन कैश तंत्र की कुंजी पीढ़ी के तर्क का एक MD5 हैश बनाने के द्वारा उस नाम obliterates है कि पथ + भिन्न_ऑन। चूंकि मूल पथ/पैराम का कोई निशान नहीं है, इसलिए आपको सही समूह मिल सकता है, उम्मीद है कि आप सभी संभावित पथ/पैरा संयोजनों का अनुमान लगाएंगे। मेरे पास अन्य शौक हैं जो अधिक दिलचस्प हैं।
आप पथ और/या पैरामीटर मान चाहिए या तो उपयोग कैश कुंजी है कि पैटर्न सीधे मिलान किया जा सकता या कुछ प्रणाली है कि इस जानकारी को बरकरार रखे हुए है के कुछ संयोजन के आधार पर कैश की गई वस्तुओं के समूहों को खोजने के लिए सक्षम होने के लिए चाहते हैं खोज समय पर उपयोग के लिए।
क्योंकि हमें ओपी की समस्या से असंबंधित होने की आवश्यकता नहीं थी, इसलिए हमने 2 साल पहले टेम्पलेट खंड कैशिंग - और विशेष रूप से प्रमुख पीढ़ी का नियंत्रण लिया था। यह हमें संबंधित कैश किए गए आइटमों के समूहों को कुशलतापूर्वक अमान्य करने के कई तरीकों से regexps का उपयोग करने की अनुमति देता है।हमने settings.py
में कॉन्फ़िगर करने योग्य एक डिफ़ॉल्ट टाइमआउट और भिन्न_ऑन वेरिएबल नाम (रन टाइम पर हल किया गया) नाम को & टाइमआउट के ऑर्डरिंग को बदल दिया क्योंकि खंडन नाम देने के लिए हमेशा डिफ़ॉल्ट टाइमआउट को ओवरराइड करना नहीं था, fragment_name एक बहु-स्तरीय टेम्पलेट विरासत योजना, और कुछ अन्य चीजों के साथ बेहतर काम करने के लिए हल करने योग्य (यानी यह एक चर हो सकता है)।
वर्तमान प्रारंभिक उत्तर का एकमात्र कारण, जो वर्तमान डीजेंगो के लिए वास्तव में गलत था, क्योंकि मैं इतने लंबे समय तक सैनर कैश कुंजी का उपयोग कर रहा हूं, मैं सचमुच सरल तंत्र को भूल गया था जिसे हम दूर चले गए थे।
मुझे यकीन नहीं है कि अगर मैं आपका प्रश्न सही समझता हूं, तो क्या आपका मतलब है कि आप सभी कैश को "123" आईडी के साथ फ़्लश करना चाहते हैं? – Prashanth
मैं किसी भी पथ के लिए कैश को फ्लश करना चाहता हूं जो '/ graph/123 /' से शुरू होता है। – knipknap
मुझे समझ में नहीं आता कि आप पथ के बारे में चिंतित क्यों हैं? – Prashanth