Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

Redis OM Node.js: ऑब्जेक्ट मैपिंग को आसानी से तेज करें

JavaScript और TypeScript के लिए तेज और आसान ऑब्जेक्ट मैपिंग

मैंने एक चीज़ लिखी—ठीक है, वास्तव में हममें से कई ने चीज़ें लिखीं—मैंने सिर्फ Node.js संस्करण लिखा। मुझे लगता है कि यह एक बहुत अच्छी चीज़ है जो आपके ध्यान के योग्य है, और मैं इसके बारे में उत्साहित हूं। जिस चीज़ के बारे में मैं बात कर रहा हूं: Node.js के लिए Redis OM।

Redis OM क्या है? Redis OM एक लाइब्रेरी है जो Redis डेटा संरचनाओं को सीधे आपके कोड में मैप करके Redis का उपयोग करना आसान बनाती है। OM बिट ऑब्जेक्ट मैपिंग के लिए खड़ा है, लेकिन हम भविष्य में सिर्फ उससे अधिक करने की योजना बना रहे हैं।

अधिक विवरण के लिए पढ़ें।

तेज से भी तेज

आप शायद पहले से ही जानते हैं कि Redis तेज़ है—तेज़ से भी तेज़—और यह उन चीज़ों को संग्रहीत करता है जिनकी आपके प्रोग्राम को परवाह है: हैश, सूचियाँ, सेट, ऐसी चीज़ें। ये वे संरचनाएं हैं जिनमें मैं एक प्रोग्रामर के रूप में सोचता हूं। जब मैं एक अनजान तकनीकी व्यक्ति को समझा रहा होता हूं कि Redis क्या है, तो मैं उन्हें बताता हूं कि Redis वे सभी डेटा संरचनाएं हैं जिन्हें आपने कॉलेज में सीखा था जिनके सामने एक वायर-प्रोटोकॉल लगा दिया गया है।

मॉड्यूल्स Redis को और भी भयानक बनाते हैं (हां, मुझे पता है कि यह शब्द नहीं है) आपके प्रोग्राम के लिए देखभाल करने के लिए नई डेटा संरचनाओं को पेश करके। RedisBloom ब्लूम और कुकू फिल्टर जैसे संभाव्य डेटा संरचनाओं को जोड़ता है। RedisGraph आपको साइफर का उपयोग करके ग्राफ को स्टोर और क्वेरी करने देता है। RedisAI आपको अद्भुत AI चीजों के लिए टेंसर देता है। सभी बहुत उपयोगी।

सबसे भयानक मॉड्यूल

लेकिन दो मॉड्यूल विशेष रूप से हैं जो Redis को शक्तिशाली इन-मेमोरी डेटाबेस बनाते हैं जो हर प्रोग्रामर चाहता है: RedisJSON और RediSearch।

RedisJSON टेबल पर पदानुक्रम लाता है। हैश महान हैं, लेकिन क्या होगा यदि आप अपने हैश में हैश एम्बेड करना चाहते हैं? RedisJSON आपको अपने पदानुक्रमित डेटा को JSON दस्तावेजों में संग्रहीत करने देकर कवर करता है।

इस बीच, RediSearch आपको उन डेटा संरचनाओं को ढूंढने देता है जिनकी आप परवाह करते हैं। निश्चित रूप से, आप सेट का उपयोग करके मैन्युअल इंडेक्स बना सकते हैं, लेकिन वह दृष्टिकोण सीमित और मैन्युअल है। यक। RediSearch आपको उन क्वेरी लिखने देता है जो सीधे उस डेटा पर जाती हैं जो आप चाहते हैं।

संयुक्त, RediSearch और RedisJSON Redis को एक बहुत अच्छा दस्तावेज़ डेटाबेस बनाते हैं। आपको वह पदानुक्रम मिलता है जो आप चाहते हैं और इसमें उन चीजों को खोजने की क्षमता जो आप परवाह करते हैं। दोनों दुनिया के सर्वश्रेष्ठ और वह सब।

वास्तव में, हमें लगता है कि यह संयोजन इतना स्वादिष्ट है, हम उन्हें एक साथ रोल कर रहे हैं और बस उन्हें RedisJSON कह रहे हैं।

Node.js के लिए Redis OM

RediSearch के लिए क्वेरी भाषा शक्तिशाली है। बहुत शक्तिशाली। यह आपको Redis के भीतर हैश और JSON दस्तावेजों को विविध और परिष्कृत तरीकों से खोजने की अनुमति देता है। और जब मुझे वह सारी शक्ति चाहिए, तो यह बहुत अच्छा है। लेकिन कभी-कभी मुझे वह सारी शक्ति नहीं चाहिए। और मैं एक आलसी डेवलपर हूँ—मैं चाहता हूं कि यह यथासंभव आसान हो (और उससे आसान नहीं)।

चीजों को यथासंभव आसान बनाना वही है जो मैं Node.js के लिए Redis OM लिखते समय करने की कोशिश कर रहा था। Redis OM आपके Node.js एप्लिकेशन में Redis जोड़ना सरल बनाता है हैश और JSON दस्तावेजों को उन क्लासेस में मैप करके जिन्हें आप परिभाषित करते हैं। कोई जटिल कमांड नहीं, बस एक फ्लुएंट इंटरफेस के साथ शुद्ध कोड। एक नज़र डालें।

एक एंटिटी परिभाषित करें:

एक नई एंटिटी बनाएं और इसे सहेजें:

मिलान करने वाली एंटिटी खोजें:

अब मैं काफी पक्षपाती हूं क्योंकि मैंने यह लाइब्रेरी लिखी है और सभी, लेकिन मुझे लगता है कि यह बहुत बढ़िया है! आइए इस सिंटैक्स पर करीब से नज़र डालें और सीखें कि यह कैसे काम करता है।

यह कैसे काम करता है

Node.js के लिए Redis OM में चार क्लास हैं जिनकी आपको परवाह करने की आवश्यकता है। वे हैं Entity, Schema, Client, और Repository।

एंटिटीज वे क्लास हैं जिनके साथ आप काम करते हैं। वे चीजें बनाई, पढ़ी, अपडेट और डिलीट की जा रही हैं। जिन चीजों को खोजा जा रहा है। Entity का विस्तार करने वाली कोई भी क्लास एक एंटिटी है। आमतौर पर, आप एक एंटिटी को कोड की एक पंक्ति के साथ परिभाषित करेंगे, लेकिन आप उसमें कस्टम लॉजिक भी जोड़ सकते हैं:

स्कीमास आपकी एंटिटी पर फ़ील्ड, उनके प्रकार, और वे Redis में आंतरिक रूप से कैसे मैप किए जाते हैं, को परिभाषित करते हैं। डिफ़ॉल्ट रूप से, एंटिटी Redis में हैश पर मैप होती हैं, लेकिन आप उन्हें JSON दस्तावेजों पर भी मैप कर सकते हैं:

जब आप एक स्कीमा बनाते हैं, तो यह आपके द्वारा सौंपी गई एंटिटी को संशोधित करता है, आपके द्वारा परिभाषित गुणों के लिए गेटर और सेटर जोड़ता है। उन गेटर और सेटर द्वारा स्वीकार किए जाने वाले और वापस किए जाने वाले प्रकार को ऊपर type संपत्ति के साथ परिभाषित किया गया है।

क्लाइंट्स आपको Redis से जोड़ते हैं। एक Client के पास Redis के खिलाफ कच्चे कमांड को खोलने, बंद करने और निष्पादित करने के तरीके होते हैं। आप ज्यादातर खोलें और बंद करें का उपयोग करेंगे:

एक Repository को इंस्टेंटिएट करने के लिए एक Schema और एक Client आवश्यक हैं। रिपॉजिटरीज एंटिटी को पढ़ने, लिखने और हटाने के साधन प्रदान करती हैं। और उन्हें खोजने के साधन:

एक बार हमारे पास एक रिपॉजिटरी हो जाने पर, हम इसका उपयोग एंटिटी बनाने, पढ़ने, अपडेट करने और हटाने के लिए कर सकते हैं। यहां मैं अपने पसंदीदा एल्बमों में से एक, मशरूमहेड के साथ बस यही कर रहा हूं:

हम इसका उपयोग एंटिटी खोजने के लिए भी कर सकते हैं:

और, आपकी कॉपी-एंड-पेस्ट सुविधा के लिए, यहां वह नमूना कोड के एक बड़े ब्लॉक के रूप में है:

और यह है, जैसा कि वे कहते हैं, संक्षेप में Node.js के लिए Redis OM।

समापन

यह Node.js के लिए Redis OM क्या कर सकता है इसका एक त्वरित अवलोकन रहा है। यदि आप अधिक सीखना चाहते हैं, तो एक ट्यूटोरियल है जो आपको Redis OM के साथ एक सरल सेवा बनाने के माध्यम से मार्गदर्शन करेगा। और यदि आप गहराई तक जाना चाहते हैं, और आपको पूरी तरह से जाना चाहिए, तो GitHub पर README और API डॉक्स देखें।

बेशक, यह बिल्कुल नया सॉफ्टवेयर है जिसे अभी तक जंगल में परीक्षण नहीं किया गया है। आप वह जंगल हैं। कृपया इसे आज़माएं। टायरों को लात मारें। इसे तोड़ने की कोशिश करें। देखें कि क्या है और क्या हो सकता है। और जब आपको वह बग मिले या वह सही सुविधा सोचें, तो मुझे GitHub पर एक इश्यू खोलकर या पुल अनुरोध भेजकर बताएं। Redis OM को बेहतर बनाने में आपकी मदद की सच्ची सराहना की जाती है। धन्यवाद!

  1. Redis प्रदर्शन को अनुकूलित करने के लिए 10 आवश्यक सर्वोत्तम अभ्यास Redis प्रदर्शन को अनुकूलित करने के लिए 10 आवश्यक सर्वोत्तम अभ्यास

    मूल रूप से मार्च 2015 में ObjectRocket.com/blog पर प्रकाशित Redis® एक बहुत बढ़िया टूल है, और तकनीकी समुदाय इसे पसंद करता है! यह Antirez की एक छोटी व्यक्तिगत परियोजना से उद्योग-मानक इन-मेमोरी डेटा स्टोरेज बनने तक एक लंबा सफर तय कर चुका है। इसके साथ Redis को सही तरीके से उपयोग करने के लिए सर्वोत्तम अभ

  1. Redis का प्रभावी ढंग से उपयोग करने के लिए 10 त्वरित सुझाव Redis का प्रभावी ढंग से उपयोग करने के लिए 10 त्वरित सुझाव

    Redis अभी टेक कम्युनिटी में गर्म है। यह Antirez की एक छोटी व्यक्तिगत परियोजना से उद्योग मानक इन-मेमोरी डेटा स्टोरेज बनने तक एक लंबा सफर तय कर चुका है। इसके साथ Redis का सही तरीके से उपयोग करने के लिए सर्वोत्तम प्रथाओं का एक सेट आता है जिस पर अधिकांश लोग सहमत हो सकते हैं। नीचे हम Redis का सही तरीके स

  1. सर्वरलेस Redis कैशिंग के साथ Strapi परफॉरमेंस बूस्ट करें सर्वरलेस Redis कैशिंग के साथ Strapi परफॉरमेंस बूस्ट करें

    समय पर प्रोजेक्ट डिलीवर करने का आमतौर पर मतलब है कि आपको जितना संभव हो उतना मौजूदा तकनीक का लाभ उठाने की आवश्यकता है। आपके द्वारा किया गया हर निर्णय जो कस्टम इम्प्लीमेंटेशन की ओर ले जाता है, उसे इस बात पर विचार करना होगा कि आपको अपने स्वयं के समाधान को बनाए रखने की भी आवश्यकता है। यही कारण है कि Str