Output Caching ASP.Net MVC অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ ফিচার, যা পারফরম্যান্স বাড়ানোর জন্য সার্ভার-সাইড ডেটা বা আউটপুটকে ক্যাশে (cache) করে। ক্যাশিংয়ের মাধ্যমে সার্ভার একই ডেটা পুনরায় তৈরি না করে পূর্বে তৈরি ডেটা ব্যবহার করতে পারে। এটি অ্যাপ্লিকেশনের রেসপন্স টাইম কমায় এবং সার্ভার রিসোর্সের উপর চাপ কমায়।
Output Caching মূলত অ্যাপ্লিকেশনের আউটপুট (যেমন HTML পেজ, ডেটা) সাময়িকভাবে সংরক্ষণ করে। যখন ব্যবহারকারী একই রিকোয়েস্ট বারবার করে, তখন সার্ভার নতুন করে আউটপুট জেনারেট না করে ক্যাশে থাকা আউটপুট প্রদান করে।
ASP.Net MVC-তে Output Caching ব্যবহার করতে OutputCache
অ্যাট্রিবিউট ব্যবহার করা হয়। এটি কন্ট্রোলার বা অ্যাকশন মেথডে প্রয়োগ করা যায়।
[OutputCache(Duration = 60, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
বর্ণনা:
60
সেকেন্ড সময়ের জন্য আউটপুট ক্যাশে থাকবে।Duration
কত সময় ক্যাশটি কার্যকর থাকবে তা নির্ধারণ করে। এটি সেকেন্ডে পরিমাপ করা হয়।
VaryByParam
URL প্যারামিটারের উপর ভিত্তি করে ভিন্ন আউটপুট ক্যাশে রাখতে সাহায্য করে।
"none"
: কোনো প্যারামিটারকে গুরুত্ব দেয় না।"*"
: সব প্যারামিটার অনুযায়ী ক্যাশ তৈরি করে।VaryByCustom
কাস্টম কন্ডিশনের উপর ভিত্তি করে ক্যাশ তৈরি করতে সাহায্য করে। যেমন, ব্যবহারকারীর ব্রাউজার বা সংস্করণ।
কিছু ক্ষেত্রে অ্যাপ্লিকেশনের একটি নির্দিষ্ট অংশ ক্যাশ করতে হয়। Razor Views এর মধ্যে Html.Action
বা Html.RenderAction
ব্যবহার করে এটি করা যায়।
[OutputCache(Duration = 120)]
public PartialViewResult LatestProducts()
{
var products = GetLatestProducts();
return PartialView(products);
}
বর্ণনা: এই মেথড শুধুমাত্র একটি নির্দিষ্ট পেজ অংশ (partial view) ক্যাশে সংরক্ষণ করবে।
ক্যাশিং পলিসি ব্যবস্থাপনা সহজ করার জন্য Web.config ফাইলে Cache Profile তৈরি করা যায়।
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="ShortCache" duration="30" varyByParam="none" />
<add name="LongCache" duration="300" varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
এরপর Controller বা Action Method-এ ব্যবহার:
[OutputCache(CacheProfile = "ShortCache")]
public ActionResult Index()
{
return View();
}
Output Caching ছাড়াও পারফরম্যান্স বাড়ানোর জন্য বিভিন্ন কৌশল ব্যবহার করা যেতে পারে।
Data Caching
MemoryCache
বা Distributed Cache
ব্যবহার করতে পারেন।Bundling and Minification
Asynchronous Programming
async
এবং await
ব্যবহার করে অ্যাসিঙ্ক্রোনাস পদ্ধতিতে অ্যাপ্লিকেশন ডেভেলপ করুন।Database Optimization
Lazy Loading
Output Caching ASP.Net MVC অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করার জন্য একটি গুরুত্বপূর্ণ টুল। এটি রেসপন্স টাইম কমায়, সার্ভার লোড হ্রাস করে এবং অ্যাপ্লিকেশনকে দ্রুত এবং স্কেলেবল করে তোলে। Output Caching এর পাশাপাশি অন্যান্য পারফরম্যান্স অপ্টিমাইজেশন কৌশলগুলো ব্যবহার করলে অ্যাপ্লিকেশন আরও কার্যকর এবং ব্যবহারকারীর জন্য সন্তোষজনক অভিজ্ঞতা নিশ্চিত করা যায়।
common.read_more