2011-03-27 11 views
12

मेरे ऐप में मुझे कई वेब सेवाओं से JSON डेटा डाउनलोड करना होगा। मेरे द्वारा उपयोग किए जाने वाले डेटा वर्ग काफी जटिल हैं (बहुत सारे गुण, काफी गहरी विरासत वृक्ष, आदि)।कैशिंग ने जेएसओएन डेटा को SQLite डेटाबेस में डाउनलोड किया - क्या यह एक अच्छा विचार है?

मैं एक डीबी टेबल का उपयोग करके कैशिंग करना चाहता हूं, जहां मैं डाउनलोड किए गए JSON डेटा को VARCHAR कॉलम (कॉलम वाले अन्य मेटा-डेटा के साथ) में संग्रहीत करता हूं। जेसन सीरियलाइजेशन जीसन लाइब्रेरी के साथ किया जा रहा है।

यह जेएसओएन में उदाहरणों को डंप करने के लिए काफी सुविधाजनक लगता है, और जब मुझे उनकी आवश्यकता होती है तो उन्हें फिर से पार्स करें। प्रत्येक वर्ग के लिए कस्टम टेबल बनाने की आवश्यकता नहीं है, या कस्टम serialization कोड के भार लिखने की जरूरत नहीं है। इसके अलावा, मैं इस तरह कैश टेबल पर प्रश्न पूछ सकता हूं।

प्रश्न: क्या यह किसी भी माध्यम से एक विरोधी पैटर्न है?

+1

फ़ाइल स्टोर के रूप में एक एसक्लाइट डीबी का उपयोग करना अजीब लगता है - जब तक आप अपने जेसन द्वारा प्रदर्शित संरचित डेटा को स्टोर करने के लिए तैयार नहीं होते हैं, तब तक प्रतीक्षा क्यों न करें? –

उत्तर

10

इस दृष्टिकोण के साथ बिल्कुल कुछ भी गलत नहीं है; हालांकि, मैं अनुशंसा करने जा रहा हूं कि आप इसके बजाय निर्मित कैशिंग स्टोरेज का उपयोग करें। अधिक जानकारी के लिए Data Storage में "सेविंग कैश फाइल" नामक अनुभाग देखें। इस तरह यदि आप कम जेएसओएन ऑब्जेक्ट्स कम मेमोरी स्थिति की स्थिति में बड़े हैं तो इस तरह की कोई भी बहुमूल्य जगह नहीं है।

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