2012-01-03 12 views
6

जब उपयोगकर्ता हमारी साइट में लॉग इन करते हैं तो हम अपने डेटाबेस से एक ऑब्जेक्ट पुनर्प्राप्त करते हैं जिसमें साइट पर विभिन्न सेटिंग्स शामिल होती हैं। जब भी उपयोगकर्ता हमारी साइट के साथ इंटरैक्ट करता है, तो सर्वर लोड को हमारे डेटाबेस पर वापस जाने से कम करने के लिए, हम वैकल्पिक तरीकों के बारे में सोचने की कोशिश कर रहे हैं। (जब आवश्यक हो, हम ऑब्जेक्ट को क्रमबद्ध और डी-क्रमबद्ध करते हैं)। ऑब्जेक्ट < 1 एमबी होने की संभावना है लेकिन भिन्न हो सकती है।मैं कितनी बड़ी कुकी बना सकता/सकती हूं?

  1. प्रदर्शन में महत्वपूर्ण प्रभाव डाले बिना किसी सत्र में हमारे पास कितना बड़ा ऑब्जेक्ट हो सकता है?
  2. एक कुकी में हम कितनी बड़ी वस्तु स्टोर कर सकते हैं?
  3. क्या कोई अन्य विकल्प हैं (अन्य, हमारे डीबी से डेटा पुनर्प्राप्त करने के अलावा)?
+0

क्या आपका डेटाबेस वास्तव में इतना धीमा है कि इससे मूल्य प्राप्त करना समस्याग्रस्त है? यह वास्तव में वास्तव में, सर्वर पक्ष –

+1

पर संभावित रूप से संभाला जाना चाहिए [कुकी फ़ाइल का अधिकतम आकार क्या है?] (Http://stackoverflow.com/questions/3107140/what-is-the- अधिकतम- आकार- ऑफ-ए-कुकी-फाइल) –

+0

और यदि आपको वास्तव में ऐसा करने की ज़रूरत है, तो [स्थानीय संग्रहण बनाम कुकीज़] देखें (http://stackoverflow.com/q/3220660) –

उत्तर

4

अधिकतम स्वीकार्य कुकी आकार ग्राहक पर निर्भर करता है। उदाहरण के लिए, 2005 से MSDN article कहता है कि संपूर्ण कुकी में कम से कम 4096 बाइट उपलब्ध हो सकते हैं (समाप्ति तिथि आदि सहित)।

6,3 कार्यान्वयन सीमा

प्रैक्टिकल उपयोगकर्ता एजेंट कार्यान्वयन संख्या और कुकीज़ है कि वे स्टोर कर सकते हैं की आकार पर सीमा है: RFC एक ही लेख में उल्लेख किया सीमाओं के बारे में कुछ और जानकारी शामिल है। आम तौर पर, उपयोगकर्ता एजेंटों की कुकी समर्थन में कोई निश्चित सीमा नहीं होनी चाहिए। उन्हें जितनी बार संभवतः उपयोग की जाने वाली कुकीज़ के रूप में स्टोर करने का प्रयास करना चाहिए। इसके अलावा, सामान्य उपयोग में उपयोगकर्ता एजेंटों को व्यक्तिगत रूप से निम्न न्यूनतम क्षमताओं से प्रत्येक प्रदान करना चाहिए, हालांकि जरूरी नहीं कि एक साथ:

  • कम से कम 300 कुकीज़

  • कम से कम 4096 प्रति कुकी बाइट (के रूप में द्वारा मापा उस कुकी सेट कुकी शीर्ष लेख की वाक्य रचना वर्णन)

  • कम से कम 20 अद्वितीय मेजबान या प्रति कुकीज़ में गैर टर्मिनल शामिल पात्रों का आकार डोमेन नाम

यदि आपका सत्र डेटा मूल्यवान नहीं है (में "के रूप में उदाहरण के लिए के मामले में खो नहीं किया जाना चाहिए एक रीबूट "), इसे memcached में संग्रहीत करने पर विचार करें। यह बहुत तेज़ है और सत्र डेटा प्राप्त करने के लिए डीबी तक पहुंचने से बचाता है। आप वास्तव में दोनों के मिश्रण का उपयोग करने पर विचार करना चाहेंगे: आप सत्र आईडी और लॉगिन वाली एक छोटी कुकी बना सकते हैं जानकारी। फिर आपके सर्वर-साइड सत्रों के नुकसान से उपयोगकर्ताओं को लॉग आउट नहीं किया जाएगा, इसलिए प्रभाव बहुत कम होगा।

3

कुकीज़ का एक विकल्प html5 स्थानीय संग्रहण है। यह पुराने ब्राउज़र द्वारा समर्थित नहीं है, लेकिन यदि वह आप के लिए उपयोगकर्ता वरीयताओं के लिए अपने एक अच्छा विकल्प कोई फर्क नहीं पड़ता निम्नलिखित ध्यान रखें:।

1) डिफ़ॉल्ट सीमा डोमेन (मुझे लगता है कि)
2) यदि आप स्थानीय में सेटिंग्स प्रकार डाटा स्टोर प्रति 5MB है भंडारण, आपको अभी भी एक से समन्वयित करने की आवश्यकता है रैवर, या अन्यथा ब्राउज़र बदलना परिणामस्वरूप उपयोगकर्ता सेटिंग्स नए ब्राउज़र में मौजूद नहीं होगा।

2

कुकी डेटा 4kb तक सीमित है।

4 1.2 मेबाइट्स अधिकतम 20 कुकीज़ एक विशेष सर्वर या डोमेन

प्रत्येक कुकी एक नाम-मान युग्म के साथ शुरू होता से स्वीकार किए जाते हैं के लिए कुल कुकी अधिकतम 300 कुल कुकीज़ प्रति KB,। इस जोड़ी को शून्य या अधिक विशेषता-मूल्य जोड़ों के बाद अर्धविराम से अलग किया जाता है। एक डोमेन नाम के लिए, प्रत्येक कुकी 4,096 बाइट तक सीमित है। यह कुल 4 किलोबाइट्स (केबी) की एक नाम-मूल्य जोड़ी या 20 नाम-मूल्य जोड़े के रूप में मौजूद हो सकता है जो कुल 4 KB है। यदि कंप्यूटर में कुकी स्टोर करने के लिए पर्याप्त स्थान नहीं है, तो कुकी को त्याग दिया जाता है। यह छोटा नहीं है। अनुप्रयोगों को यथासंभव कम से कम कुकीज का उपयोग करना चाहिए और जितनी संभव हो सके कुकी को छोटा करना चाहिए। इसके अतिरिक्त, अनुप्रयोग कुकी के नुकसान को संभालने में सक्षम होना चाहिए।

यदि कोई वेब एप्लिकेशन 19 से अधिक कस्टम कुकीज़ का उपयोग करता है, तो एएसपी सत्र स्थिति खो सकती है। इंटरनेट एक्सप्लोरर 4.0 और बाद के संस्करण प्रत्येक डोमेन के लिए कुल 20 कुकीज़ की अनुमति देते हैं। चूंकि ASPSessionID एक कुकी है, यदि आप 20 या अधिक कस्टम कुकीज़ का उपयोग करते हैं, तो ब्राउज़र को ASPSessionID कुकी को त्यागने और सत्र खोने के लिए मजबूर होना पड़ता है।

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