को अमान्य कर रहा है मेरे पास मॉडल TicketType
है जिसमें लगभग 500 उदाहरण हैं।कई समूहीकृत कैश कुंजी
यह प्रति सप्ताह केवल कुछ बार बदलता है।
लेकिन यदि यह बदलता है, तो मुझे पुराने कैक्ट वैल्यू का उपयोग करने वाले सभी कैश किए गए मानों को अमान्य करने की आवश्यकता है।
दुर्भाग्यवश कुछ कैश कुंजी तय नहीं हैं। उनमें गणना डेटा शामिल है।
मैं इन समाधानों देखें:
version
तर्क का उपयोग करें और एक पोस्ट पर संस्करण मान अपडेट TicketType
का संकेत हैंडलर सहेजें।
टिकट कैप पर आधारित सभी कैश कुंजी के लिए एक सामान्य उपसर्ग का उपयोग करें। फिर एक पोस्ट सहेजें सिग्नल हैंडलर में सभी कैश कुंजी को अमान्य करें।
मुझे लगता है कि वहाँ एक तिहाई, और बेहतर तरीका है ...
उदाहरण:
TicketType एक पेड़ है। टिकट टाइप की दृश्यता अनुमतियों के लिए बाध्य हैं। यदि उनके पास अलग-अलग अनुमतियां हैं, तो दो उपयोगकर्ता पेड़ को एक अलग तरीके से देख सकते हैं। अनुमतियों के अनुसार, हम इसे कैश करते हैं। किसी उपयोगकर्ता की अनुमतियों को क्रमबद्ध और धोया जाता है। कैश कुंजी एक स्ट्रिंग जो हैश और एक निश्चित हिस्सा बनाने के द्वारा बनाई गई हो जाता है: TicketType पेड़ परिवर्तन, हम सुनिश्चित करने के लिए, कि कोई भी पुराने डेटा कैश से भरी हुई हो जाता है की जरूरत है
hash_key='ticket-type-tree--%s' % hashed_permissions
हैं। जब तक कोई पुराना डेटा उपयोग नहीं किया जाता है, तब तक सक्रिय अमान्यता की आवश्यकता नहीं होती है।
आप अपने मॉडल पर एक छोटे से विस्तृत कृपया सकते हैं, और क्या कैश किया गया है - और साथ ही जिस तरह से आप कैश कुंजी का निर्धारण? – Marcanpilami
@Markcanpilami मैंने सवाल अपडेट किया। – guettli
क्या आप अपना टिकट टाइप मॉडल दिखाएंगे और आपने स्पष्ट रूप से अपने कैश में क्या रखा है? – Charlesthk