मुझे List<object>
बनाने और सूची को कैश करने और इसे जोड़ने में सक्षम होने की आवश्यकता है। मुझे इसे आसानी से उड़ाने और इसे फिर से बनाने में सक्षम होने की भी आवश्यकता है। इसे पूरा करने का एक आसान तरीका क्या है?सरल सी # एएसपी.नेट कैश कार्यान्वयन
उत्तर
कुछ इस तरह है शायद हो पाया है?
using System;
using System.Collections.Generic;
using System.Web;
public class MyListCache
{
private List<object> _MyList = null;
public List<object> MyList {
get {
if (_MyList == null) {
_MyList = (HttpContext.Current.Cache["MyList"] as List<object>);
if (_MyList == null) {
_MyList = new List<object>();
HttpContext.Current.Cache.Insert("MyList", _MyList);
}
}
return _MyList;
}
set {
HttpContext.Current.Cache.Insert("MyList", _MyList);
}
}
public void ClearList() {
HttpContext.Current.Cache.Remove("MyList");
}
}
कैसे उपयोग करने के लिए के रूप में .....
// Get an instance
var listCache = new MyListCache();
// Add something
listCache.MyList.Add(someObject);
// Enumerate
foreach(var o in listCache.MyList) {
Console.WriteLine(o.ToString());
}
// Blow it away
listCache.ClearList();
अच्छी तरह से ... सेवा योग्य। लेकिन मैं कुछ बदलाव करूँगा। मुख्य रूप से, मैं हमेशा एक वैध सूची वापस करूँगा। यदि यह अस्तित्व में नहीं है, तो कैश ["माईलिस्ट"] में जो कुछ भी है, उसे वापस करने के बजाय, एक नया खाली संग्रह बनाएं और इसे कैश करें, जो शून्य हो सकता है। – Bryan
हाँ ब्रायन, यह उदाहरण काफी सरल है। - लेकिन मैंने आपके सुझाव को दिल में लिया और मेरा नमूना अपडेट किया। धन्यवाद। – jessegavin
कई/सबसे वास्तविक दुनिया परिदृश्यों में आप किसी प्रकार के लगातार भंडारण में परिवर्तनों को फ्लश करना चाहते हैं। – quillbreaker
इस ट्यूटोरियल है कि मैं क्या उपयोगी
यहां नमूने
List<object> list = new List<Object>();
Cache["ObjectList"] = list; // add
list = (List<object>) Cache["ObjectList"]; // retrieve
Cache.Remove("ObjectList"); // remove
"Tracing and Caching Provider Wrappers for Entity Framework" की कैशिंग भागों, जबकि सरल नहीं, अभी भी कुछ उपयोगी चीजें कैशिंग के साथ के बारे में सोचना की एक बहुत अच्छी समीक्षा कर रहे हैं।
विशेष रूप से, दो वर्गों InMemoryCache
और AspNetCache
और उनके संबद्ध परीक्षण:
क्या सवाल किया था के समान, आप लपेट सकता है HttpRuntime.Cache
या के कार्यान्वयन मेंया HttpContext.Current.Cache
।
- 1. सरल कैश प्रोफाइलिंग API
- 2. कैश (एएसपी.नेट)
- 3. सरल सी ++ थ्रेडपूल कार्यान्वयन पर प्रश्न
- 4. सी में बहुत सरल नक्शा कार्यान्वयन (कैशिंग उद्देश्य के लिए)?
- 5. एएसपी.नेट कैश अधिकतम आकार
- 6. एएसपी.नेट - अमान्य ब्राउज़र कैश
- 7. नेट सरल इन-मेमोरी कैश
- 8. रेल काउंटर कैश और इसके कार्यान्वयन
- 9. एंड्रॉइड सी 2 डीएम के सरल कार्यान्वयन की आवश्यकता
- 10. मेमोरी malloc/मुक्त ट्रैक करने के लिए सरल सी कार्यान्वयन?
- 11. सी ++ के लिए सबसे सरल आरटीटीआई कार्यान्वयन क्या है?
- 12. कैश की डिफ़ॉल्ट अवधि। एएसपी.नेट
- 13. एएसपी.नेट के लिए धूमकेतु कार्यान्वयन?
- 14. सरल एएसपी.नेट एमवीसी 1.0 प्रमाणीकरण
- 15. एएसपी.नेट एमवीसी व्यूइंजिन व्यूलोकेशन कैश। गेटव्यूलोकेशन शून्य
- 16. एहकेचे बनाम स्टेटिक मानचित्र कैश कार्यान्वयन
- 17. शैक्षणिक प्रयोजन के लिए सरल डेटाबेस कार्यान्वयन
- 18. सी # कार्यान्वयन
- 19. क्वाड्री स्पष्टीकरण और सी कार्यान्वयन
- 20. एएसपी.नेट: web.config कैश किया गया/कैसा है?
- 21. एएसपी.नेट एमवीसी आउटपुट कैश रूट यूआरआई
- 22. एएसपी.नेट (एमवीसी) आउटपुट कैश और समवर्ती अनुरोध
- 23. एएसपी.नेट कैश कैसे काम करता है?
- 24. एएसपी.नेट एमवीसी 4 मोबाइल-एवेयर आउटपुट कैश
- 25. एएसपी.नेट एमवीसी सत्र बनाम ग्लोबल बनाम कैश
- 26. स्प्रिंग 3.2 और कैश अमूर्त लापता ehcache कार्यान्वयन
- 27. एएसपी.नेट सी #
- 28. सी #/एएसपी.नेट
- 29. सी # एएसपी.नेट
- 30. सी # + एएसपी.नेट
ध्यान रखें कि आपकी सूची थ्रेड सुरक्षित नहीं होगी। – dugas