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

Redis OM .NET: .NET और Redis एकीकरण के लिए फ्लुएंट API

.NET और Redis के लिए एक फ्लुएंट API और ऑब्जेक्ट मॉडल

Redis एक शानदार तकनीक है जिसे लाखों डेवलपर्स दो कारणों से पसंद करते हैं: गति और सरलता। Redis एक सहज नेटिव इंटरफेस प्रदान करता है जो प्रोग्रामर द्वारा पहले से ज्ञात डेटा संरचनाओं में तार्किक रूप से व्यवस्थित है। इसके अलावा, वे संरचनाएं उपयोग में सरल और शानदार रूप से अनुकूलित हैं। गति और सरलता के इस अंतिम मिश्रण के लिए हम .NET के लिए एक नई क्लाइंट लाइब्रेरी, Redis OM के रिलीज के साथ लक्ष्य बना रहे हैं।

Redis OM .NET क्या है?

Redis OM Redis के लिए ऑब्जेक्ट मैपिंग और बहुत कुछ है। Redis OM के पीछे प्रेरणा सवाल का जवाब देना है "डेवलपर्स सभी Redis कमांड सीखे बिना Redis से अद्भुत लाभ कैसे प्राप्त कर सकते हैं?" इस पहले पूर्वावलोकन रिलीज के लिए, हम सवाल को संबोधित करना चाह रहे हैं, "हम Redis में अपने डोमेन ऑब्जेक्ट को कैसे स्टोर और ढूंढ सकते हैं?" Redis OM .NET का पूर्वावलोकन रिलीज एक ऑब्जेक्ट मैपर, एक सेकेंडरी इंडेक्स बिल्डर, और एक सरलीकृत और शक्तिशाली क्वेरी बिल्डर है। यह सब आपको Redis के साथ अपने डोमेन ऑब्जेक्ट को स्टोर और ढूंढने में मदद करने की दिशा में तैयार है।

Redis मॉड्यूल

मॉड्यूल API Redis के लिए एक गेम चेंजर रहा है। मॉड्यूल प्लेटफॉर्म में जबरदस्त लचीलापन जोड़ते हुए Redis के लिए कुछ आवश्यक सुविधाएं प्रदान करते हैं। RedisJSON, विशेष रूप से, सेकेंडरी इंडेक्सिंग और डॉक्यूमेंट मॉडलिंग के आसपास भारी मात्रा में कार्यक्षमता को अनलॉक करता है। जबकि Redis OM कोर Redis के साथ अच्छा काम करता है, Redis OM वास्तव में तब अपनी गति पकड़ता है जब आप RedisJSON जोड़ते हैं, जो ऑब्जेक्ट्स को मॉडल करने और Redis में उन्हें क्वेरी करने के लिए एक समृद्ध और शक्तिशाली API बनाने के लिए RedisJSON का पूरा लाभ उठाता है।

क्षमताएं

Redis OM .NET के पूर्वावलोकन संस्करण में चार प्राथमिक क्षमताएं हैं:

  1. ऑब्जेक्ट मॉडलिंग
  2. इंडेक्स निर्माण
  3. फ्लुएंट क्वेरीज
  4. फ्लुएंट एग्रीगेशन

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

Redis OM के साथ उठने और चलने से पहले, आपको अपने प्रोजेक्ट में पैकेज इंस्टॉल करना होगा। ऐसा करने के लिए, बस

dotnet add package Redis.OM
चलाएं। Redis OM लाइब्रेरी के भीतर प्राथमिक कनेक्शन लॉजिक
RedisConnectionProvider
में मौजूद है। यह प्रोवाइडर तीन अलग-अलग ऑब्जेक्ट तक पहुंच प्रदान करता है जिनका उपयोग आप Redis के साथ संवाद करने के लिए कर सकते हैं:

  1. IRedisConnection
    आपको
    Execute
    और
    ExecuteAsync
    विधियों का उपयोग करके सीधे Redis के साथ इंटरफेस करने देता है।
  2. RedisCollection<T>
    ऑब्जेक्ट्स का एक जेनेरिकली टाइप किया गया संग्रह है। यह इंटरफेस फ्लुएंट क्वेरी API प्रदान करता है।
  3. RedisAggregationSet<T>
    आपको Redis में एग्रीगेशन पाइपलाइन बनाने और निष्पादित करने की अनुमति देता है एक फ्लुएंट API का उपयोग करके।

Redis से कनेक्ट करना

ASP.NET Core में Redis OM को Redis से कनेक्ट करने के लिए, आपको

RedisConnectionProvider
के एक इंस्टेंस को सिंगलटन के रूप में इंजेक्ट करना चाहिए। ऐसा करने के लिए, आप एक Redis URI का उपयोग करेंगे। यदि आप .NET 6 का उपयोग कर रहे हैं, तो इसका मतलब है कि आपकी
program.cs 
फ़ाइल खोलना और जोड़ना:

.NET 5 के लिए, जो Startup.cs फ़ाइल का उपयोग करता है, आप

Startup.ConfigureServices
में निम्नलिखित जोड़ सकते हैं:

ऑब्जेक्ट्स का मॉडलिंग और खोज

RedisJSON आपको Redis में JSON ऑब्जेक्ट्स को नेटिव रूप से स्टोर करने और उन ऑब्जेक्ट्स को क्वेरी करने की अनुमति देता है। लेकिन अपने JSON को क्वेरी करने के लिए, आपको पहले अपने इंडेक्स को परिभाषित करना होगा। इस प्रक्रिया को आसान बनाने के लिए, हमने Redis OM .NET में एक घोषणात्मक मॉडल पेश किया है जो आपको एक घोषणात्मक इंटरफेस के माध्यम से इन इंडेक्स को परिभाषित करने की अनुमति देता है। यदि आप Redis में स्टोर करने के लिए एक क्लास घोषित करना चाहते हैं और उसके गुणों को इंडेक्स करना चाहते हैं, तो आप क्लास को

Document
विशेषता से सजाते हैं और फिर व्यक्तिगत गुणों को
Indexed
या
Searchable
विशेषताओं से सजाते हैं।
Indexed
एक मानक इंडेक्स का तात्पर्य रखता है, जबकि
Searchable
केवल स्ट्रिंग्स पर लागू होता है और इसका मतलब है कि गुण पूर्ण-पाठ खोज के साथ क्वेरी करने योग्य होगा। अगला, आप अपने नए सजाए गए प्रकार को
IRedisConnection.CreateIndex
विधि में पास करके Redis में इंडेक्स बना सकते हैं। इसलिए, उदाहरण के लिए, यदि आप एक इंडेक्स के साथ एक Customer क्लास घोषित करना चाहते हैं, तो आप निम्नलिखित जैसा कुछ करेंगे:

क्वेरी करना

एक इंडेक्स बनने के साथ, आप अब Redis में ऑब्जेक्ट्स को क्वेरी करने के लिए

RedisCollection<T>
का उपयोग कर सकते हैं। तो, यदि आपके पास जॉन Redis में एक Customer ऑब्जेक्ट के रूप में संग्रहीत है, तो आप उसे क्वेरी कर सकते हैं:

आप आसानी से रेंज क्वेरी भी कर सकते हैं। उदाहरण के लिए, आइए उन सभी ग्राहकों को ढूंढें जो सेवानिवृत्ति की आयु तक नहीं पहुंचे हैं:

RedisCollection
और RedisJSON के साथ, आप LINQ में सामान्य रूप से जैसे समृद्ध और जटिल क्वेरी बना सकते हैं, और Redis OM आपके लिए Redis की क्वेरी भाषा में अनुवाद का प्रबंधन करेगा।

एग्रीगेशन

क्वेरी करने के अलावा, आप Redis एग्रीगेशन का उपयोग एग्रीगेशन पाइपलाइन बनाने के लिए कर सकते हैं जो सभी प्रकार की चीजें कर सकते हैं। उदाहरण के लिए, मान लें कि आप प्रत्येक ग्राहक की 3 साल में उम्र ढूंढना चाहते हैं, आप एक सीधे अंकगणितीय ऑपरेशन के साथ

Apply
अभिव्यक्ति के अंदर ऐसा कर सकते हैं, जो Redis में एक उचित रूप से स्वरूपित एग्रीगेशन पाइपलाइन में अनुवाद करेगा:

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

समापन

यह .NET के लिए Redis OM की क्षमताओं का सिर्फ एक संक्षिप्त अवलोकन है। यदि आप अधिक सीखना चाहते हैं, तो आप ट्यूटोरियल देख सकते हैं और API डॉक्स के माध्यम से देख सकते हैं। हम जल्द ही Redis.OM में और सुविधाएँ जोड़ने की योजना बना रहे हैं, और उस अंत तक, हमें कुछ समुदाय प्रतिक्रिया पसंद आएगी। आएं और इसे आज़माएं। यदि आपको कोई समस्या मिलती है या कुछ ऐसा सोचते हैं जिसे आप लाइब्रेरी में जोड़ना चाहेंगे, तो GitHub पर एक इश्यू खोलें। और स्वाभाविक रूप से, हम समुदाय से योगदान को हमेशा पसंद करते हैं, इसलिए PRs का हमेशा स्वागत है :).

  1. MongoDB Compass खोजें: निर्बाध डेटा प्रबंधन के लिए आपका विज़ुअल टूल MongoDB Compass खोजें: निर्बाध डेटा प्रबंधन के लिए आपका विज़ुअल टूल

    अवलोकन यह पोस्ट MongoDB® के लिए GUI, जिसे MongoDB Compass के नाम से जाना जाता है, का परिचय देती है। Compass आपको MongoDB क्वेरी सिंटैक्स के किसी औपचारिक ज्ञान के बिना अपने MongoDB डेटा का विश्लेषण और समझने की अनुमति देता है। आप क्वेरी प्रदर्शन को अनुकूलित करने, इंडेक्स प्रबंधित करने, और डॉक्यूमेंट व

  1. Redis प्रदर्शन को अधिकतम करना: विशेषज्ञ अंतर्दृष्टि और सर्वोत्तम प्रथाएं Redis प्रदर्शन को अधिकतम करना: विशेषज्ञ अंतर्दृष्टि और सर्वोत्तम प्रथाएं

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

  1. फास्टली कंप्यूट@एज के साथ रेडिस को एकीकृत करना: कुशल पेज व्यू ट्रैकिंग के लिए फास्टली कंप्यूट@एज के साथ रेडिस को एकीकृत करना: कुशल पेज व्यू ट्रैकिंग के लिए

    इस पोस्ट में, हम एक साधारण एप्लिकेशन लिखेंगे जो फास्टली कंप्यूट@एज पर चलेगा। यह एप्लिकेशन पेज व्यू को ट्रैक करने के लिए अपस्टैश रेडिस का उपयोग करेगा। प्रेरणा एज कंप्यूटिंग हाल के वर्षों में सबसे रोमांचक ट्रेंड्स में से एक है। क्लाउडफ्लेयर और फास्टली जैसी CDN सेवाओं ने उपयोगकर्ताओं को अपने एज इंफ्रा