मैं 5 लाख कुंजी-मूल्य जोड़े स्टोर करने के लिए अपने PHP ऐप के संयोजन के साथ memcached का उपयोग करने पर विचार कर रहा हूं। मेरा उद्देश्य डीबी से आगे और पीछे से बचना है (जो मेरे मामले में फाइल सिस्टम है)। मेरे पास कुंजी-मानों में प्रति सेकेंड 100-500 एक्सेस हो सकती हैं। वे मुख्य मान रहे हैं दोनों MD5 की और के रूप में कर रहे हैं:memcached में लाखों कुंजी-मूल्य संग्रहीत करना - अच्छा या बुरा विचार?
array('MD5X' => 'MD5Y', ...)
मुझे यकीन है कि कैसे डेटा संग्रहीत किया जाता है नहीं कर रहा हूँ, लेकिन अगर हम 5 million * 16 bytes (keys) + 5 million * 16 bytes (values)
गुणा हम 180MB मिल ~।
:
डाटासेट तय हो गई है तो मैं केवल इसे से दिखाया जाएगा (संपादित कोई वास्तविक memcached उदाहरण मैं 750MB का उपयोग सभी वस्तुओं को स्टोर करने के साथ प्रयास करने के बाद।)।
सवाल:
- यह एक अच्छा है या बुरा डिजाइन है?
- क्या मैं कभी भी याद नहीं कर सकता (जब तक सर्वर क्रैश नहीं होता) को डेटा को फिर से लोड करना पड़ता है? यह मानते हुए कि स्मृति टोपी संग्रहीत डेटा से अधिक है? यदि नहीं, तो मैं एक ही लक्ष्य को प्राप्त करने के लिए कौन सी तकनीकों का उपयोग कर सकता हूं।
बहुत बहुत धन्यवाद!
आपको अपने विशिष्ट उपयोग के मामले में प्रदर्शन प्रोफ़ाइल चाहिए। या एक वास्तविक डीबी का उपयोग करने पर विचार करें क्योंकि इसमें कैशिंग का निर्माण होगा। अगर आप एक सरणी स्टोर करते हैं, तो क्या आपको इसे देखने के लिए पूरी सरणी खींचनी पड़ेगी? –
धन्यवाद @ पॉलकॉलिंगवुड, दुर्भाग्य से मैं एक डीबी का उपयोग नहीं कर सकता। चीयर्स – JoeSlav