परिचय
<पी> रेडिस एक तेज़, इन-मेमोरी की-वैल्यू स्टोर है जिसका उपयोग आधुनिक अनुप्रयोगों में कैशिंग, सेशन स्टोरेज, मैसेज ब्रोकिंग और पब/सब कम्युनिकेशन के लिए व्यापक रूप से किया जाता है। यह हल्का, प्रदर्शन करने वाला और डेवलपर-अनुकूल है, जो इसे स्केलेबल सिस्टम बनाने के लिए एक पसंदीदा विकल्प बनाता है। <पी> यदि आप .NET कोर में विकास कर रहे हैं और Redis को अपने एप्लिकेशन में एकीकृत करना चाहते हैं, तो यह आलेख आपको दिखाएगा कि बुनियादी Redis संचालन करने के लिए StackExchange.Redis लाइब्रेरी का उपयोग कैसे करें। <पी> विंडोज़ सिस्टम पर काम करने वालों के लिए, रेडिस-संगत सर्वर का उपयोग लिनक्स या कंटेनरीकरण की आवश्यकता के बिना रेडिस को चलाने के लिए किया जा सकता है। रेडिस क्यों?
<पी> .NET कोर एप्लिकेशन के साथ एकीकृत होने पर Redis कई लाभ प्रदान करता है। - कैशिंग: प्रतिक्रिया समय को बेहतर बनाने और डेटाबेस कार्यभार को कम करने के लिए बार-बार एक्सेस किए गए डेटा को संग्रहीत करें।
- सत्र प्रबंधन: वितरित सिस्टम में उपयोगकर्ता सत्रों को कुशलतापूर्वक संभालें।
- वास्तविक समय की घटनाएं: नोटिफिकेशन या ईवेंट-संचालित संचार जैसी वास्तविक समय की कार्यक्षमता को सशक्त बनाने के लिए पब/उप सुविधाओं के लिए रेडिस का उपयोग करें।
- उच्च प्रदर्शन: मेमोरी में काम करता है, कम-विलंबता डेटा एक्सेस की पेशकश करता है।
- स्केलेबल: क्लस्टरिंग और शार्डिंग के समर्थन के साथ, रेडिस को स्केलेबिलिटी के लिए बनाया गया है।
रेडिस की स्थापना
<पी> रेडिस का उपयोग करना पी> <पी> अपने .NET कोर ऐप को Redis से कनेक्ट करने के लिए, आप Redis भी चला सकते हैं। - कमांड-लाइन इंस्टालेशन: Linux या Windows पर Redis चलाने के लिए डॉकर जैसे टूल का उपयोग करें।
- पूर्व-कॉन्फ़िगर किया गया विंडोज़ विकल्प: यदि आप विंडोज़ पर हैं, तो आप रेडिस को मूल रूप से चलाने के लिए ड्रॉप-इन प्रतिस्थापन के रूप में रेडिस-संगत सर्वर का उपयोग कर सकते हैं।
<पी> ध्यान दें. सरलता के लिए, यह ट्यूटोरियल मानता है कि Redis स्थानीय रूप से localhost:6379 पर चल रहा है। Redis के साथ एक .NET कोर एप्लिकेशन का निर्माण
<पी> इस उदाहरण में, हम एक .NET कोर कंसोल एप्लिकेशन बनाएंगे जो निम्नलिखित रेडिस ऑपरेशन करता है। - रेडिस सर्वर से कनेक्ट करें।
- बुनियादी कुंजी-मूल्य संचालन करें (सेट करें, प्राप्त करें, हटाएं)।
- कुंजी समाप्ति और सत्यापन प्रदर्शित करें।
<पी> चरण 1. .NET कोर प्रोजेक्ट बनाएं। - <पी> एक टर्मिनल खोलें और एक नया प्रोजेक्ट बनाएं।
dotnet new RedisIntegrationDemo
- <पी> Redis कनेक्टिविटी के लिए StackExchange.Redis पैकेज स्थापित करें।
dotnet add package StackExchange.Redis
<पी> चरण 2. कोड लिखें. <पी> यहां प्रोग्राम.सीएस में पूर्ण कार्यान्वयन है।
using System;
using StackExchange.Redis;
using System.Threading.Tasks;
namespace RedisIntegrationDemo
{
class Program
{
// Connection string for Redis
private const string RedisConnectionString = "localhost:6379";
async static Task Main(string[] args)
{
Console.WriteLine("Connecting to Redis...");
// Connect to Redis
var redis = await ConnectionMultiplexer.ConnectAsync(RedisConnectionString);
Console.WriteLine("Connected to Redis successfully.\n");
// Access the Redis database
IDatabase db = redis.GetDatabase();
// Perform Redis operations
Console.WriteLine("Performing Redis operations...");
// 1. Set key-value pair
string key = "SampleKey";
string value = "Hello from Redis!";
await db.StringSetAsync(key, value);
Console.WriteLine($"Set: {key} => {value}");
// 2. Get the value for the key
string savedValue = await db.StringGetAsync(key);
Console.WriteLine($"Get: {key} => {savedValue}");
// 3. Set an expiration for the key
TimeSpan expiryTime = TimeSpan.FromSeconds(10);
await db.KeyExpireAsync(key, expiryTime);
Console.WriteLine($"Set expiration for {key}: {expiryTime.TotalSeconds} seconds");
// 4. Check key existence after expiration
Console.WriteLine("\nWaiting for the key to expire...");
await Task.Delay(12000); // Wait 12 seconds
bool exists = await db.KeyExistsAsync(key);
Console.WriteLine($"Key Exists After Expiration: {key} => {exists}");
// Close the connection
redis.Close();
Console.WriteLine("\nAll Redis operations completed.");
}
}
}
<पी> चरण 3. एप्लिकेशन चलाएँ। <पी> एप्लिकेशन निष्पादित करने के लिए.
dotnet run
<पी> अपेक्षित आउटपुट पी> <पी> प्रोग्राम रेडिस से कनेक्ट होगा, बुनियादी कुंजी-मूल्य संचालन करेगा, और कुंजी समाप्ति को मान्य करेगा। आपको आउटपुट इस तरह देखना चाहिए, <पी>
रेडिस .NET कोर के साथ कैसे काम करता है?
<पी> यहां बताया गया है कि एप्लिकेशन चरण दर चरण क्या करता है, - कनेक्शनमल्टीप्लेक्सर का उपयोग करके रेडिस सर्वर से कनेक्ट होता है, जो कनेक्शन पूलिंग और सर्वर संचार का प्रबंधन करता है।
- बुनियादी कमांड निष्पादित करता है।
- StringSetAsync: रेडिस में एक कुंजी-मूल्य जोड़ी सेट करता है।
- StringGetAsync: कुंजी का मान प्राप्त करता है।
- KeyExpireAsync: किसी कुंजी के लिए समाप्ति समय निर्धारित करता है।
- KeyExistsAsync: जाँचता है कि कोई कुंजी मौजूद है या नहीं।
- समाप्ति के साथ डेटा के अस्थायी इन-मेमोरी स्टोरेज को संभालता है।
<पी> यदि आप विंडोज़ वातावरण में काम कर रहे हैं और मूल रेडिस इंस्टेंस स्थापित नहीं करना चाहते हैं या डॉकर का उपयोग नहीं करना चाहते हैं, तो आप विकल्प के रूप में रेडिस-संगत सर्वर का उपयोग कर सकते हैं। रेडिस-संगत सर्वर स्थापित करना
- Windows के लिए Redis-संगत सर्वर स्थापित करें।
- एक बार इंस्टॉल हो जाने पर, सर्वर आमतौर पर रेडिस के समान, डिफ़ॉल्ट रूप से लोकलहोस्ट:6379 पर चलता है।
- आपके एप्लिकेशन को Redis-संगत सर्वर के साथ काम करने के लिए किसी भी कोड परिवर्तन की आवश्यकता नहीं है।
<पी> Redis-संगत सर्वर का उपयोग करने से Redis कार्यक्षमता कंटेनर या वर्चुअलाइज्ड वातावरण पर निर्भर हुए बिना विंडोज़ पर मूल रूप से चलने की अनुमति देती है। .NET कोर में Redis का उपयोग करने के लाभ
- प्रदर्शन: रेडिस पूरी तरह से मेमोरी में काम करता है, जिससे बेहद कम विलंबता सक्षम होती है।
- उपयोग में आसानी: सूचियाँ, सेट और हैश जैसी अतिरिक्त डेटा संरचनाओं के साथ सामान्य कुंजी-मूल्य आवश्यकताओं के लिए सरलीकृत एपीआई।
- लचीलापन: रेडिस कई उद्देश्यों को पूरा करता है (उदाहरण के लिए, कैशिंग, संदेश कतार, पब/उप)।
- स्केलेबिलिटी: रेडिस मांग के साथ स्केलिंग के लिए क्लस्टरिंग और उच्च उपलब्धता का समर्थन करता है।
निष्कर्ष
<पी> रेडिस को अपने .NET कोर एप्लिकेशन में एकीकृत करने से आप उच्च-गुणवत्ता, प्रदर्शन करने वाले सिस्टम का निर्माण कर सकते हैं जो मांग वाले कार्यभार को संभाल सकते हैं। StackExchange.Redis लाइब्रेरी के साथ, आप Redis के साथ सहजता से इंटरैक्ट कर सकते हैं। <पी> सरल कैशिंग या सत्र प्रबंधन के लिए रेडिस को लागू करके शुरुआत करें, और अपने वितरित .NET कोर अनुप्रयोगों में पब/उप और वास्तविक समय डेटा आवश्यकताओं के लिए इसके उपयोग का विस्तार करें। <पी> हैप्पी कोडिंग और स्केलिंग!