পরিচয়
আজকের দ্রুতগতির ডিজিটাল বিশ্বে, অ্যাপ্লিকেশনগুলি উচ্চ কর্মক্ষমতা এবং প্রতিক্রিয়াশীলতা প্রদান করবে বলে আশা করা হচ্ছে। এটি অর্জনের একটি উপায় হ'ল ক্যাশিং মেকানিজম প্রয়োগ করা যা ঘন ঘন অ্যাক্সেস করা ডেটা সংরক্ষণ করে, বারবার ডেটাবেস থেকে এটি আনার প্রয়োজনীয়তা হ্রাস করে। Redis, একটি জনপ্রিয় ইন-মেমরি ডেটা স্টোর, .NET কোর অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী ক্যাশিং সমাধান প্রদান করে। এই নিবন্ধে, আমরা ব্যবহারিক উদাহরণ সহ একটি .NET কোর 6 অ্যাপ্লিকেশনে কীভাবে Redis ক্যাশে সংহত করতে হয় তা অন্বেষণ করব৷
পূর্বশর্ত
আমরা শুরু করার আগে, নিশ্চিত করুন যে আপনার সিস্টেমে নিম্নলিখিত পূর্বশর্তগুলি ইনস্টল করা আছে৷
- .NET কোর 6 SDK: নিশ্চিত করুন যে আপনার .NET Core 6 SDK বা তার পরে ইনস্টল করা আছে। আপনি এটি অফিসিয়াল .NET ওয়েবসাইট থেকে ডাউনলোড করতে পারেন।
- রিডিস সার্ভার: স্থানীয়ভাবে একটি Redis সার্ভার ইনস্টল করুন এবং চালান অথবা একটি Redis ক্লাউড পরিষেবা ব্যবহার করুন৷
উইন্ডোতে রেডিস সার্ভার ইনস্টল করুন
Redis ডাউনলোড করুন
আপনি এই GitHub পৃষ্ঠা থেকে 64-বিট উইন্ডোজের জন্য Redis-এর একটি মাঝারিভাবে পুরানো প্রি-কম্পাইল করা সংস্করণ ডাউনলোড করতে পারেন:https://github.com/MicrosoftArchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.msi
এই লিঙ্কে ক্লিক করে, আপনি একটি .msi ফাইল পাবেন যা একটি উইন্ডোজ ইনস্টলার . এখন আপনার ডাউনলোডগুলি এ যান৷ ফোল্ডার এবং এই ফাইলটি খুঁজুন।
এখন সেই ফাইলটিতে ক্লিক করুন এবং Redis ইনস্টল করুন।
Redis সার্ভার C:\Program Files\Redis-এ ইনস্টল করা উচিত ছিল . সেখানে আপনি redis-server নামে একটি .exe ফাইল পাবেন

এখন একটি কমান্ড লাইন খুলুন এবং এই কমান্ডটি লিখুন৷
redis-server

আপনার রেডিস সার্ভার চলতে শুরু করেছে৷
৷এখন আপনি এই কমান্ডের মাধ্যমে Redis সার্ভারের আপডেট এবং পরিবর্তনগুলি নিরীক্ষণ করতে পারেন৷
৷
redis-cli monitor

একটি .NET কোর 6 কনসোল অ্যাপ্লিকেশন তৈরি করুন
dotnet new console -n RedisCacheDemo প্রকল্প ফোল্ডারে নেভিগেট করুন
cd RedisCacheDemo প্রয়োজনীয় প্যাকেজ ইনস্টল করুন
dotnet add package StackExchange.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("Fetching data with caching:");
var cachedData = GetDataWithCaching(redisCache);
Console.WriteLine($"Result: {cachedData}");
Console.WriteLine("Fetching data without caching:");
var uncachedData = GetDataFromDatabase();
Console.WriteLine($"Result: {uncachedData}");
redisConnection.Close(); //It is important to close the connection
}
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Start";
}
static string GetDataWithCaching(IDatabase redisCache)
{
// redisCache.KeyDelete("cachedData"); // For Delete the Cache
// redisCache.StringSet("cachedData", "Test", TimeSpan.FromMinutes(1)); // For Update the Cache
string cachedData = redisCache.StringGet("cachedData");
if (string.IsNullOrEmpty(cachedData))
{
cachedData = GetDataFromDatabase();
redisCache.StringSet("cachedData", cachedData, TimeSpan.FromMinutes(1));
}
return cachedData;
} অনুগ্রহ করে এই প্রোগ্রামটি সম্পাদনের সাথে এগিয়ে যান৷
৷
এই আউটপুটে, ক্যাশে সহ এবং ছাড়া ফলাফল একই। কারণ আউটপুট প্রথমবার তৈরি হওয়ার সময় ক্যাশে সংরক্ষণ করা হয়। যাইহোক, যদি কোডে কোন পরিবর্তন হয়, তাহলে ফলাফল ভিন্ন হবে।
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Last";
} আমি কোডের মান আপডেট করেছি এবং এটি পুনরায় চালু করব।
এই আউটপুটে, প্রথম মানটি ক্যাশে থেকে পুনরুদ্ধার করা হয় এবং দ্বিতীয় মানটি ক্যাশে ব্যবহার না করেই পুনরুদ্ধার করা হয়৷
উপসংহার
অভিনন্দন! আপনি সফলভাবে আপনার .NET কোর 6 অ্যাপ্লিকেশনে Redis ক্যাশে একত্রিত করেছেন। ক্যাশিং প্রয়োগ করে, আপনি আপনার অ্যাপ্লিকেশনের কার্যক্ষমতা এবং প্রতিক্রিয়াশীলতা উন্নত করেছেন, এটি ঘন ঘন অ্যাক্সেস করা ডেটা পরিচালনার ক্ষেত্রে আরও দক্ষ করে তুলেছে৷