Redis एक ओपन सोर्स (BSD लाइसेंस प्राप्त), इन-मेमोरी डेटा स्ट्रक्चर स्टोर है, जिसका उपयोग डेटाबेस, कैशे और मैसेज ब्रोकर के रूप में किया जाता है। आपके प्रश्नों को कैश करने के लिए एक तंत्र प्रदान करने के लिए इसे MySQL जैसे अन्य डेटाबेस के साथ जोड़ा जा सकता है।
इस लेख में, हम दिखाएंगे कि वर्डप्रेस पेजों को रेंडर करने के लिए आवश्यक MySQL क्वेरी को कैसे कैश किया जाए। यह हमें महत्वपूर्ण प्रदर्शन लाभ प्रदान करेगा, हालांकि कुछ चेतावनियों के साथ।
बेहतर वर्डप्रेस कैशिंग का परिचय
वर्डप्रेस MySQL डेटाबेस का उपयोग आंतरिक एप्लिकेशन ऑब्जेक्ट्स (ब्रेडक्रंब, मेनू आइटम, आदि) को कैश करने के लिए करता है, जो उत्पन्न करने के लिए महंगा हो सकता है। चूंकि डेटाबेस पेज अनुरोधों के लिए प्रश्नों को भी संभालता है, यह संभवतः सबसे आम अड़चन है और अक्सर लोड-टाइम को बढ़ा देता है।
Redis एक कैशिंग तंत्र प्रदान करता है जो MySQL डेटाबेस के विकल्प के रूप में कार्य करता है। यदि कोई उपयोगकर्ता वर्डप्रेस पेज पर जाता है, तो पेज बनाने के लिए आवश्यक MySQL क्वेरी को रेडिस के माध्यम से परोसा जाता है जो परिणामों को कैश करता है। इसके परिणामस्वरूप स्थिर पृष्ठों की तुलना में तेज लोड समय तेज होता है।
एक अन्य लोकप्रिय कैशिंग विकल्प मेम्केड है। हालांकि, Redis लगभग वह सब कुछ करता है जो Memcached करता है इसलिए हम इस ट्यूटोरियल के लिए Redis™* के लिए स्केलग्रिड होस्टिंग का उपयोग करेंगे।
Redis कैशिंग कैसे काम करता है?
जब कोई उपयोगकर्ता पहली बार वर्डप्रेस पेज का अनुरोध करता है, तो सर्वर पर एक MySQL क्वेरी की जाती है। रेडिस इस क्वेरी को कैश करता है, इसलिए जब कोई अन्य उपयोगकर्ता उसी वर्डप्रेस पेज का अनुरोध करता है, तो डेटाबेस को फिर से क्वेरी करने की आवश्यकता के बिना रेडिस से परिणाम प्रदान किए जाते हैं।
यदि क्वेरी को Redis में कैश नहीं किया गया है, तो परिणाम MySQL द्वारा प्रदान किए जाते हैं, जिन्हें बाद में Redis कैश में जोड़ा जाता है।
यदि डेटाबेस में किसी विशेष मान को अपडेट किया जाता है, तो खराब कैश डेटा को उपयोगकर्ता को प्रदर्शित होने से रोकने के लिए संबंधित Redis मान को अमान्य कर दिया जाता है।
ट्यूटोरियल आवश्यकताएँ
यहां इस आलेख में उपयोग की जाने वाली तकनीकों की सूची दी गई है:
- 2 वर्डप्रेस इंस्टॉलेशन (बेंचमार्क के लिए प्लगइन के साथ और बिना)
- Redis™ सर्वर
- Redis WP ऑब्जेक्ट कैश प्लगिन
वर्डप्रेस इंस्टालेशन
आप यहां वर्डप्रेस का नवीनतम संस्करण डाउनलोड कर सकते हैं और हरोकू या एडब्ल्यूएस जैसे होस्ट पर दो अलग-अलग इंस्टॉलेशन सेट कर सकते हैं।
रेडिस सर्वर
ScaleGrid, Redis™ स्टैंडअलोन और मास्टर/स्लेव क्लस्टर के लिए उन्नत सुरक्षा सुविधाओं के साथ विश्व स्तरीय समर्थन प्रदान करता है। हम Allkeys-LRU कैशिंग रणनीति के साथ स्केलग्रिड पर होस्ट किए गए स्टैंडअलोन रेडिस ™ क्लस्टर का उपयोग करेंगे, और आप इस ट्यूटोरियल में सहायता के लिए रेडिस ™ के लिए हमारी होस्टिंग के 30 दिनों के निःशुल्क परीक्षण के लिए साइन अप कर सकते हैं।
Redis WP ऑब्जेक्ट कैश प्लगिन
इस प्लगइन का उपयोग आपके वर्डप्रेस इंस्टॉलेशन में ड्रॉप-इन के रूप में किया जाता है और इसे Redis™ होस्ट का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। आप प्लगइन यहाँ पा सकते हैं।
सेटअप निर्देश:WordPress के लिए Redis Object Cache
यहां एक वर्डप्रेस इंस्टॉलेशन पर रेडिस ऑब्जेक्ट कैश प्लगिन स्थापित करने के चरण दिए गए हैं।
चरण 1:रेडिस कैश प्लगिन स्थापित करें
यह ट्यूटोरियल मानता है कि आपके पास पहले से ही WordPress के दो नए इंस्टॉलेशन हैं। उनमें से एक पर, आपको रेडिस ऑब्जेक्ट कैश प्लगइन स्थापित करने की आवश्यकता है। एक बार प्लगइन स्थापित हो जाने पर, आप इसे प्लगइन्स मेनू से सक्रिय कर सकते हैं।
चरण 2:अपनी सेटिंग में Redis ढूंढें
एक बार प्लगइन सक्रिय हो जाने पर, सेटिंग्स मेनू के अंतर्गत एक रेडिस विकल्प दिखाई देगा।
चरण 3:वर्डप्रेस कॉन्फ़िगरेशन जोड़ें
प्लगइन को सेट करने के बाद, हमें वर्डप्रेस कॉन्फिग फाइल में कॉन्फ़िगरेशन विकल्प जोड़ने की जरूरत है। कम से कम, आपको निम्नलिखित विकल्प सेट करने होंगे:
define('WP_REDIS_HOST', ''); define('WP_REDIS_PASSWORD', '');
आप उपरोक्त विकल्पों को Redis™ के स्केलग्रिड क्लस्टर विवरण पृष्ठ पर पा सकते हैं।
कॉन्फ़िगरेशन सहेजें और ऑब्जेक्ट कैशे को सक्षम करें। यदि प्रमाणीकरण सही है, तो आपको निम्न स्क्रीन देखनी चाहिए:
इस बिंदु पर, Redis को आपके वर्डप्रेस इंस्टॉलेशन के लिए कैशे के रूप में कॉन्फ़िगर किया गया है।
WordPress प्रश्नों की निगरानी और डिबगिंग
सभी Redis क्लस्टर Redis कमांड लाइन इंटरफेस (redis-cli) टूल के साथ इंस्टाल होते हैं, जिसका उपयोग आप WordPress से आने वाले क्वेरी अनुरोधों की निगरानी के लिए कर सकते हैं। यह कैसा दिखाई दे सकता है, इसका स्क्रीनशॉट यहां दिया गया है:
अगर आपको कंसोल पर कोई आउटपुट नहीं दिखता है, तो वर्डप्रेस वेबसाइट पर जाएं और रीफ्रेश करें।
वर्डप्रेस और ट्रैक करने के लिए रेडिस मेट्रिक्स
यहां ट्रैक करने के लिए प्रमुख मीट्रिक पृष्ठ लोड समय है। यहाँ वह डिफ़ॉल्ट कॉन्फ़िगरेशन है जिसका उपयोग हम ताज़ा इंस्टालेशन के लिए कर रहे हैं:
- वर्डप्रेस:4.9.5
- रेडिस:v.4.0.2
- वर्डप्रेस थीम:ट्वेंटी सेवेंटीन
उपरोक्त मापदंडों पर एक नए इंस्टॉलेशन के आधार पर, हम पेज लोड समय में लगभग 50% की कमी देख सकते हैं:
- बिना रेडिस ऑब्जेक्ट कैश =~900ms
- साथ रेडिस ऑब्जेक्ट कैश =~400ms
Redis ऑब्जेक्ट कैशे नुकसान
WordPress पर Redis Object Cache दृष्टिकोण का उपयोग करने के लिए कुछ चेतावनी हैं। यदि आपके पास बहुत सारे प्लगइन्स और थीम स्थापित हैं, तो कैशिंग तंत्र अच्छी तरह से काम नहीं करता है। यह इस तथ्य के कारण है कि उनके सभी डेटा को रेडिस के साथ भी कैश करने की आवश्यकता होगी।
आप हमारे पिछले लेख में Node.js, Redis, और Socket.io का उपयोग करके ट्वीट्स को कैश करना भी सीख सकते हैं।
हमेशा की तरह, अगर आप कुछ कमाल का निर्माण करते हैं, तो हमें इसके बारे में @scalegridio पर ट्वीट करें। यदि आपको MongoDB® डेटाबेस या Redis™ को प्रबंधित या होस्ट करने में सहायता चाहिए, तो [email protected] पर हमसे संपर्क करें।