2012-10-07 12 views
10

जब App इंजन के साथ String क्षेत्रों भंडारण:ऐप इंजन के साथ संग्रहीत स्ट्रिंग की अधिकतम लंबाई?

  • क्या String कि App इंजन डेटासंग्रह संभाल कर सकते हैं की अधिकतम length() है?
  • यदि ऑब्जेक्टिफ़ का उपयोग करना भी है, तो यह अधिकतम लंबाई समान है या ऑब्जेक्टिफा कुछ प्रोसेसिंग करता है जो इस अधिकतम लंबाई को प्रभावित करता है?

उत्तर

8

ऑब्जेक्टिव स्वचालित रूप से 500 से अधिक वर्णों के स्ट्रिंग्स को देशी टेक्स्ट स्टोरेज में परिवर्तित कर देगा। सावधान रहें यदि आप तारों को अनुक्रमणित कर रहे हैं; टेक्स्ट ऑब्जेक्ट्स को अनुक्रमित नहीं किया जाता है इसलिए स्ट्रिंग> 500 वर्ण अनदेखा किए जाएंगे।

+0

दिखाई देता है यदि स्ट्रिंग> 500 char है और अनुक्रमित है तो एक सहेजने में विफल रहेगा। com.googlecode.objectify.SaveException: कॉल जानकारी को सहेजने में त्रुटि = पथ पर 'नोट्स': उस मान को इंडेक्स करने का अनुरोध करें जिसे अनुक्रमित नहीं किया जा सकता है:। क्या इसके आसपास कोई कार्य है? – Patrick

4

प्रति the documentation, 500 वर्ण। और नहीं, ऑब्जेक्टिफाइफ़ एक रैपर है और आपके डेटा को संशोधित नहीं करता है, इसलिए डेटा आकार सीमाएं अपरिवर्तित हैं।

5

मुझे लगता है कि इस पर प्रतिक्रियाएं पुरानी हैं, इसलिए मैं अपडेट कर रहा हूं। मैं जीएई संस्करण 1.9.22 का उपयोग कर रहा हूं और इसे त्रुटि लॉग में प्राप्त किया है:

स्ट्रिंग गुण बाइट या उससे कम होना चाहिए। इसके बजाय, com.google.appengine.api.datastore.Text का उपयोग करें, जो किसी भी लंबाई के तारों को स्टोर कर सकता है।

का उपयोग com.google.appengine.api.datastore.Text पाठ करने के लिए स्ट्रिंग ऑब्जेक्ट परिवर्तित करके अच्छी तरह से काम करता है (उदाहरण के लिए, अपने कोड की सर्वर साइड पर नए पाठ (thisString)। कॉम में पुस्तकालयों के लिए कोई संदर्भ। google.appengine.api.datastore। * ग्राहक के पक्ष में काम कर नहीं। क्लास नहीं मिला।

0

अक्टूबर, 2016 से गूगल डेटास्टोर प्रलेखन के लिए अद्यतन के आधार पर, यहाँ सीमा

की अधिकतम आकार के होते हैं एक अनुक्रमित स्ट्रिंग प्रॉपर्टी का यूटीएफ -8 एन्कोडिंग: 1,500 बाइट्स

एक unindexed संपत्ति के लिए अधिकतम आकार: 1,048,487 बाइट्स (1 MiB - 89 बाइट्स)

तो तुम एक unindexed String संपत्ति में आकार में 1 एमबी के पास तार स्टोर कर सकते हैं।

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