परिचय
आज की तेज़ गति वाली डिजिटल दुनिया में, एप्लिकेशन से उच्च प्रदर्शन और प्रतिक्रियाशीलता देने की उम्मीद की जाती है। इसे प्राप्त करने का एक तरीका कैशिंग तंत्र लागू करना है जो बार-बार एक्सेस किए जाने वाले डेटा को स्टोर करता है, जिससे डेटाबेस से बार-बार इसे लाने की आवश्यकता कम हो जाती है। Redis, एक लोकप्रिय इन-मेमोरी डेटा स्टोर, .NET Core एप्लिकेशन के लिए एक मजबूत कैशिंग समाधान प्रदान करता है। इस लेख में, हम व्यावहारिक उदाहरणों के साथ .NET Core 6 एप्लिकेशन में Redis कैश को एकीकृत करने का तरीका जानेंगे।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके सिस्टम पर निम्नलिखित पूर्वापेक्षाएँ इंस्टॉल हैं।
- .NET Core 6 SDK: सुनिश्चित करें कि .NET Core 6 SDK या बाद का संस्करण इंस्टॉल है। आप इसे आधिकारिक .NET वेबसाइट से डाउनलोड कर सकते हैं।
- Redis सर्वर: स्थानीय रूप से Redis सर्वर इंस्टॉल करें और चलाएं या Redis क्लाउड सेवा का उपयोग करें।
Windows पर Redis सर्वर इंस्टॉल करें
Redis डाउनलोड करें
आप 64-बिट Windows के लिए Redis का एक मध्यम रूप से पुराना प्रीकंपाइल्ड संस्करण इस GitHub पेज से डाउनलोड कर सकते हैं: https://github.com/MicrosoftArchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.msi
इस लिंक पर क्लिक करके, आपको एक .msi फाइल मिलेगी जो एक Windows इंस्टॉलर है। अब अपने डाउनलोड फोल्डर में जाएं और इस फाइल को ढूंढें।
अब उस फाइल पर क्लिक करें और Redis इंस्टॉल करें।
Redis सर्वर को C:\Program Files\Redis में इंस्टॉल किया जाना चाहिए। वहां आपको redis-server नामक एक .exe फाइल मिलेगी।

अब एक कमांड लाइन खोलें और यह कमांड दर्ज करें।
redis-server

आपका Redis सर्वर चलना शुरू हो गया।
अब आप इस कमांड से Redis सर्वर में अपडेट और परिवर्तनों की निगरानी कर सकते हैं।
redis-cli monitor

.NET Core 6 कंसोल एप्लिकेशन बनाएं
dotnet new console -n RedisCacheDemo
प्रोजेक्ट फोल्डर पर नेविगेट करें
cd RedisCacheDemo
आवश्यक पैकेज इंस्टॉल करें
dotnet add package StackExchange.Redis
Redis कनेक्शन कॉन्फ़िगर करें
Program.cs फाइल में, आवश्यक स्टेटमेंट जोड़ें, और Main मेथड में Redis कनेक्शन कॉन्फ़िगर करें:
static void Main(string[] args)
{
var configuration = ConfigurationOptions.Parse("localhost:6379");
var redisConnection = ConnectionMultiplexer.Connect(configuration);
var redisCache = redisConnection.GetDatabase();
Console.WriteLine("कैशिंग के साथ डेटा ला रहे हैं:");
var cachedData = GetDataWithCaching(redisCache);
Console.WriteLine($"परिणाम: {cachedData}");
Console.WriteLine("कैशिंग के बिना डेटा ला रहे हैं:");
var uncachedData = GetDataFromDatabase();
Console.WriteLine($"परिणाम: {uncachedData}");
redisConnection.Close(); // कनेक्शन बंद करना महत्वपूर्ण है
}
static string GetDataFromDatabase()
{
// डेटाबेस से डेटा लाने का अनुकरण करें
// इसे अपने वास्तविक डेटाबेस लाने के तर्क से बदलें
Thread.Sleep(2000); // विलंबता का अनुकरण
return "Start";
}
static string GetDataWithCaching(IDatabase redisCache)
{
// redisCache.KeyDelete("cachedData"); // कैश हटाने के लिए
// redisCache.StringSet("cachedData", "Test", TimeSpan.FromMinutes(1)); // कैश अपडेट करने के लिए
string cachedData = redisCache.StringGet("cachedData");
if (string.IsNullOrEmpty(cachedData))
{
cachedData = GetDataFromDatabase();
redisCache.StringSet("cachedData", cachedData, TimeSpan.FromMinutes(1));
}
return cachedData;
}
कृपया इस प्रोग्राम के निष्पादन के साथ आगे बढ़ें।
इस आउटपुट में, कैश के साथ और बिना परिणाम समान है। ऐसा इसलिए है क्योंकि आउटपुट पहली बार उत्पन्न होने पर कैश में संग्रहीत होता है। हालांकि, यदि कोड में कोई परिवर्तन होता है, तो परिणाम अलग होगा।
static string GetDataFromDatabase()
{
// डेटाबेस से डेटा लाने का अनुकरण करें
// इसे अपने वास्तविक डेटाबेस लाने के तर्क से बदलें
Thread.Sleep(2000); // विलंबता का अनुकरण
return "Last";
}
मैंने कोड का मान अपडेट किया और इसे फिर से चलाऊंगा।
इस आउटपुट में, पहला मान कैश से प्राप्त होता है, और दूसरा मान कैश का उपयोग किए बिना प्राप्त होता है।
निष्कर्ष
बधाई हो! आपने सफलतापूर्वक अपने .NET Core 6 एप्लिकेशन में Redis कैश को एकीकृत कर लिया है। कैशिंग लागू करके, आपने अपने एप्लिकेशन के प्रदर्शन और प्रतिक्रियाशीलता में सुधार किया है, जिससे यह बार-बार एक्सेस किए जाने वाले डेटा को संभालने में अधिक कुशल हो गया है।