2013-09-26 7 views
8

हाय मैं समाप्ति सुविधाओं के साथ एक समवर्ती शब्दकोश के बाद कुछ शोध कर रहा हूं।समाप्ति समवर्ती शब्दकोश

हमारे पास ऐसी ऑब्जेक्ट्स की एक सूची है जो बहुत अलग धागे से जोड़ता है और हटा देता है। हम वस्तुओं पर एक समाप्ति समय भी चाहते हैं जैसे 60 सीकेंड कहें। (यह अच्छा होगा अगर हम किसी ऐसे ईवेंट को सुन सकें जो हमें बताता है कि कौन सी चीजें समाप्त हो चुकी हैं और सूची से हटा दी गई हैं)।

हमें एक शब्दकोश की तरह वास्तव में तेज़ होने के लिए लुकअप की भी आवश्यकता है।

सूची हजारों वस्तुओं को लगातार बढ़ाएगी।

तो यह एक ConcurrentDictionary की तरह है लेकिन समाप्ति सुविधाओं के साथ।

मेमोरी कैश कुछ हो सकता है?

या क्या वे अन्य चीजों को देखने के लिए हैं?

+0

क्या आपने बस ['कैश'] (http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx) कक्षा का उपयोग करने पर विचार किया है? (संपादित करें) नहीं, 'मेमोरी कैश' बिल्कुल वही है जो आपको चाहिए, मैंने आपके प्रश्न को पूरी तरह से नहीं पढ़ा। – Groo

+0

@ ग्रूओ: ओपी मेमोरी कैश के बारे में पूछता है जो प्रभावी रूप से सिस्टम पर निर्भरता के बिना कैश के समान होता है। Web.dll – spender

+0

@ स्पेंडर: ओह, ठीक है, मैंने अभी जवाब की शुरुआत पढ़ी है और अनुमान लगाया है कि ओपी इसे स्क्रैच से कोड करना चाहता है। – Groo

उत्तर

9

MemoryCache विशेष रूप से के रूप में

इस प्रकार सुरक्षित थ्रेड है, आदर्श लग रहा है।

+0

+1। यह [समाप्ति का समर्थन करता है] (http://msdn.microsoft.com/en-US/library/system.runtime.caching.cacheitempolicy.absoluteexpiration.aspx) [अधिसूचना के साथ] (http://msdn.microsoft.com/ en-US/पुस्तकालय/system.runtime.caching.cacheitempolicy.updatecallback.aspx)। –

+0

सवाल यह है कि क्या यह वास्तव में जोड़ने और निकालने के लिए तेज़ है? – NPehrsson

+0

@NPehrsson मुझे लगता है कि आपको स्वयं परीक्षण करना होगा। – spender

संबंधित मुद्दे