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

Node.js . के लिए Redis OM का परिचय

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

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

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

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

तेज़ से तेज़

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

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

सबसे शानदार मॉड्यूल

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

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

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

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

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

नोड.जेएस के लिए रेडिस ओएम

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

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

एक इकाई को परिभाषित करें:

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

मेल खाने वाली इकाइयों की खोज करें:

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

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

Node.js के लिए Redis OM में आपको चार वर्गों की देखभाल करने की आवश्यकता है। वे इकाई, स्कीमा, क्लाइंट और रिपोजिटरी हैं।

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

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

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

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

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

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

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

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

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

रैप अप करना

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

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


  1. रेडिस के लिए दस त्वरित युक्तियाँ

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

  1. रेडिस के लिए 10 त्वरित टिप्स

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

  1. Strapi के लिए सर्वर रहित रेडिस कैशिंग

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