मैं 2 कैश का उपयोग करना चाहता हूं - स्मृति में डिफ़ॉल्ट एक और एक memcache एक, हालांकि अमूर्त रूप से इससे कोई फर्क नहीं पड़ता (मुझे लगता है) जो दो।रेल में एकाधिक कैश का उपयोग कैसे करें? (असली के लिए)
स्मृति डिफ़ॉल्ट म वह जगह है जहाँ मैं छोटे और शायद ही कभी बदलते डेटा लोड करना चाहते हैं। मैं एक तारीख को स्मृति का उपयोग कर रहा हूं। मैं वहां डेटाबेस से 'डोमेन डेटा' प्रकार की सामग्री का एक गुच्छा रखता हूं, मेरे पास बाहरी स्रोतों से कुछ छोटा डेटा भी है जो मैं हर 15 मिनट -1 घंटे ताज़ा करता हूं।
क्योंकि मैं अब कुछ बड़े संपत्ति की सेवा कर रहा हूँ मैं हाल ही में मेम्कैश गयी। परिसर का क्रमबद्ध करें कि मैं इसमें कैसे मिला, लेकिन ये बड़े ~ किलोबाइट्स हैं, अपेक्षाकृत कम मात्रा में (सैकड़ों), और अत्यधिक कैशबल - वे बदलते हैं, लेकिन प्रति घंटा एक बार ताज़ा करना बहुत अधिक है। यह सेट बढ़ सकता है, लेकिन यह सभी होस्टों में साझा किया जाता है। ताज़ा महंगा है।
डेटा का पहला सेट अब थोड़ी देर के लिए डिफ़ॉल्ट कैश मेमोरी का उपयोग कर रहा है, और अच्छी तरह से व्यवहार किया गया है। Memcache डेटा के दूसरे सेट के लिए एकदम सही है।
मैं मेम्कैश देखते है, और यह डेटा के दूसरे सेट के लिए महान काम कर रहा है। समस्या यह है कि मेरे मौजूदा कोड की वजह से 'सोच' किया गया था, यह स्थानीय स्मृति में था, मैं प्रति अनुरोध memcache के लिए कई यात्रा कर रहा हूं, जो मेरी विलंबता को बढ़ा रहा है।
तो, मैं 2 कैश का उपयोग करना चाहते। विचार?
(नोट: मेरे सर्वर की तुलना में विभिन्न मशीनों पर memcache चल रहा है। यहां तक कि अगर मैं इसे स्थानीय रूप से चलाता हूं, तो मेरे पास मेजबान का बेड़ा है, इसलिए यह सभी के लिए स्थानीय नहीं होगा। इसके अलावा, मैं ज़रूरत से बचना चाहता हूं बड़ी मशीनें प्राप्त करने के लिए। हालांकि मैं स्मृति को बड़ा बनाकर और केवल स्मृति में उपयोग करके इस समस्या को हल कर सकता हूं (डेटा वास्तव में इतना बड़ा नहीं है), यह समस्या को हल नहीं करता है क्योंकि मैं स्केल करता हूं, इसलिए यह बस कर सकते हैं लात जा।)