में उपयोग के लिए क्लास लाइब्रेरी में सही ढंग से कैश को कार्यान्वित करना मैं कक्षा पुस्तकालय में कैश को कार्यान्वित कर रहा हूं जिसे मैं एएसपीनेट एप्लिकेशन में उपयोग कर रहा हूं।एएसपीनेट अनुप्रयोग
मैंने अपने कैश ऑब्जेक्ट को कैश को अद्यतन करने के लिए एक स्थिर विधि के साथ एक सिंगलटन पैटर्न के रूप में बनाया है जो वास्तव में डेटा संग्रह के साथ एक सदस्य चर/संपत्ति लोड कर रहा है, मुझे कैश की आवश्यकता है (कुछ लॉकिंग लॉजिक ऑफ कॉर्स)। मैं सोचा कि यह एक अच्छा तरीका था के बाद से मैं सिर्फ
MyCacheObject.Instance.MyDataCollection
बुला मैं एक नया कैश वस्तु बना रहा हूं कुछ प्रमुख द्वारा विभाजित डेटा की एक बहुत बड़ी राशि स्टोर करने के लिए के आधार पर अपने डेटा तक पहुँच सकते जाने के लिए। मैं जो कह रहा हूं वह है कि मैं एक नया कैश बना रहा हूं लेकिन यह एक ही समय में सभी डेटा लोड नहीं करेगा, बल्कि प्रत्येक कुंजी के लिए संग्रह संग्रहित करेगा।
MyOtherCacheObject.Instance.MyOtherDataCollection(indexkey)
इस बार कचरा संग्रह के बारे में सवाल उठाया गया था। चूंकि मैं बड़ी मात्रा में डेटा संग्रहीत कर रहा हूं, क्या यह अचानक बर्बाद नहीं होगा अगर यह अचानक हो गया? चूंकि यह सिर्फ एक सिंगलटन पैटर्न है, यह सुनिश्चित करने के लिए कुछ भी नहीं है कि डेटा कैश में रहेगा।
तो मेरा सवाल यह है कि - इस स्थिति को संभालने के लिए कैश को लागू करने के लिए सबसे अच्छा अभ्यास क्या है? मुझे वास्तव में इसके लिए एक जटिल जटिल समाधान पसंद नहीं है, और मुझे पता है कि System.Web में कैशिंग है लेकिन यह थोड़ा 'ऑफ' लगता है क्योंकि यह सिर्फ एक क्लास लाइब्रेरी है, या आप क्या सोचते हैं?
मुझे पसंद है कि आप क्या प्राप्त कर रहे हैं (भले ही मैं आईओसी से बचने के लिए एक लंबा रास्ता तय करूंगा)। आप कुछ अच्छे विचार ला रहे हैं जिन्हें मैं हालांकि चला सकता हूं। धन्यवाद –
यदि आप सेट किया जाता है तो आप बैकिंग वैरिएबल भी जोड़ सकते हैं और उस चर पर लॉक कर सकते हैं। मेरा आंत महसूस करता है कि यह कुछ थ्रेडिंग मुद्दों को रोक सकता है। –