2012-11-24 10 views
5

मैं जानना चाहता था कि SQLite का मुख्य सत्र भंडारण के रूप में उपयोग करना या कम से कम प्राथमिक मेमकैड के साथ बैकअप सत्र संग्रहण के रूप में उपयोग करना एक अच्छा अभ्यास है?एक सत्र संग्रहण के रूप में SQLite

क्या आप मुझे कुछ पेशेवर और विपक्ष दे सकते हैं?

(मैं शिक्षा प्रयोजनों के लिए एक MVC फ्रेमवर्क निर्माण कर रहा हूँ और अलग अलग संभावनाएं और implemetations की सोच रहा था)

उत्तर

5

SQLite पेशेवरों

  • फ़ाइल आधारित सत्रों
  • वितरित किया जा सकता है, जहां फ़ाइल आधारित सत्रों इससे अधिक परेशान हैं

SQLite विपक्ष की तुलना में तेजी

  • SQLit की आवश्यकता है ई जो एक निर्भरता और कुछ और बनाता है
  • कठिन नजर रखने के लिए लागू करने के लिए है कि मूल फ़ाइल आधारित सत्रों
  • बड़े एप्लिकेशन जल्दी से इतने सारे द्वारा एसक्यूएल तालिका को मार सकते हैं पढ़ सकते हैं और विशेष रूप से लगभग हर अनुरोध, विखंडन, सूचकांक अद्यतन, आदि लिखने पेज कि विशिष्ट तालिका

भी बेहतर समाधान मार मारा - Memcache

के बाद से सत्र आम तौर पर हर पेज के साथ पहुँचा जाता हिट यह एक Dat के सभी भूमि के ऊपर के बिना सबसे तेजी से तंत्र संभव उपयोग करने के लिए कोई मतलब होता है अभी भी एक वितरित प्रणाली (उदाहरण के लिए एकाधिक PHP सर्वर) में काम करने की अनुमति देते हुए परत को दबाएं।

मेमकैच का उपयोग करें जो PHP के साथ अच्छी तरह से परीक्षण किया जाता है और आप कुछ php.ini सेटिंग्स को संशोधित करके या अधिक बढ़िया अनाज नियंत्रण (या रेडिस जैसे अन्य सॉफ़्टवेयर का उपयोग करने के लिए) को भी memcache सत्रों को एकीकृत कर सकते हैं, आप अपना स्वयं का कस्टम सत्र बना सकते हैं हैंडलर।

यह अलग पक्ष-विपक्ष

Memcache पेशेवरों

  • बहुत बहुत तेजी से
  • तराजू है अच्छी तरह से
  • पीएचपी के माध्यम से लागू करने के लिए आसान।INI

Memcache विपक्ष

  • एक और सेवा संभावित दुर्घटना है और निगरानी
  • का उपयोग करता है रैम की आवश्यकता है कि जो आम तौर पर है एक सीमित संसाधन HDD अंतरिक्ष के लिए compaired और भी निगरानी
की आवश्यकता है

हालांकि आपको अन्य सॉफ़्टवेयर का उपयोग करना चाहिए जो उन दोनों चीजों की निगरानी करता है या क्रॉन जॉब स्क्रिप्ट लिखता है memcache सेवा अभी भी चल रहा है - लेकिन यह एक और सवाल है और एक और दिन के लिए जवाब है। प्वाइंट है, उन विपक्ष को कुछ हद तक कम किया जा सकता है।

विषयों पर अतिरिक्त पठन कवर

+0

ठीक क्या होगा अगर मैं उन दोनों का उपयोग करता हूं जो सुलभ हैं .. आइए कहें प्राथमिक प्राथमिक है memcache/d और जब SQLite में जोड़ा जाने वाला एक नया बनाया गया है और SQLite केवल तभी प्रयोग किया जाए जब memcache/d डाउन हो? –

+0

प्राथमिक और माध्यमिक सत्र? एय !? नहीं, बस memcache के लिए छड़ी - आप विश्वास नहीं करेंगे कि यह SQLite या फ़ाइल आधारित सत्रों के साथ कितनी तेजी से compaired है। अगर memcache नीचे है, इसे पुनरारंभ करें! भारी यातायात वाली साइट के तहत, यदि मेमकेच 50% उपयोग कहता था, जब यह SQLite पर वापस आ जाता है तो यह संभवतः दुर्घटनाग्रस्त हो जाएगा !!! आपको स्क्लाइट की तुलना में memcache से बहुत अधिक प्रदर्शन मिलेगा जिसका अर्थ है कि आप उस पर वापस नहीं आ सकते हैं। यदि आप किसी चीज़ पर वापस गिरना चाहते हैं, तो कम से कम स्मृति आधारित होना चाहिए (उदाहरण के लिए एपीसी, लेकिन, यह वितरित नहीं होगा क्योंकि यह केवल स्थानीय कैश है)। – VBAssassin

+0

क्या असफल-सुरक्षित विकल्प होना बेहतर नहीं है? –

0

पीएचपी की फाइल ठिकानों सत्र, बहुत अच्छी और तेज है सत्र भंडारण केवल करने के लिए भूमि के ऊपर जोड़ देगा के लिए SQLite का उपयोग कर अपने सत्र प्रबंधन।

2

सत्र फ़ाइलों के आधार पर, एक बुरा विचार कर रहे हैं क्योंकि फ़ाइल यदि लॉक कर दिया जाएगा आप सत्र में लेखन पहुंच को बंद नहीं करते हैं (session_write_cl ose();)। लेकिन जब आप इस समस्या से बचने के लिए सिर्फ स्क्लाइट का उपयोग करना चाहते हैं तो आप खुद को/सर्वर से क्यों सीमित कर सकते हैं?

तो SQLite समर्थक: - उपयोग करने के लिए (php.ini config बदल) आसान: (सत्र अब समानांतर काम कर सकते हैं) ajax साथ

  • तेजी

    session.save_handler = sqlite 
    session.save_path = "/path/sessions.db" 
    
    • तेजी से पृष्ठों को लोड करने
    • कार्यक्षमता में निर्मित

    sqlite con

    • सत्र

    लिखने के लिए धीमी मैं एपीसी उपयोग करना चाहते हैं, लेकिन फिर मैं कार्यान्वयन की जरूरत है और मुझे चिंता यह सुरक्षा के मुद्दों में खत्म हो सकता है कि हूँ ...

  • +0

    यदि आप एपीसी का उपयोग करते हैं तो आप सत्र में डेटा एन्क्रिप्ट कर सकते हैं लेकिन यह आपको अधिक निष्पादन समय का उपभोग करेगा। –

    +0

    नमूना कॉन्फ़िगरेशन भी शामिल करने और फ़ाइलों के साथ 'अवरुद्ध' समस्या का उल्लेख करने के लिए धन्यवाद। – kouton

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