مدیر وب سایت دورآموز ،مدیر پروژه تیم برنامه نویسی جی وب ، برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک
در asp.net core میتوان دسترسی به بانک اطلاعاتی و دریافت اطلاعات را با ذخیره آن در حافظه کش سرور به حداقل رساند .با این کار سرعت اجرای صفحات به صورت چشمگیری افزایش می یابد.
بدین منظور مراحل زیر را دنبال نمایید
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
//این کد را اضافه کنید
services.AddMemoryCache();
}
private readonly IMemoryCache _memoryCache;
// private readonly ILogger _logger;
public HomeController(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
}
YourModel cache;
bool isExist = _memoryCache.TryGetValue("CacheModel", out cache);
if (!isExist)
{
cache = await YourMethode();
var cacheEntryOptions = new MemoryCacheEntryOptions();
cacheEntryOptions.SlidingExpiration = TimeSpan.FromSeconds(1800);
cacheEntryOptions.Priority = CacheItemPriority.Normal;
_memoryCache.Set("CacheModel", cache, cacheEntryOptions);
}
در کد فوق YourMethode نام متدی است که میخواهید فراخوانی شود و YourModel مدلی است که متد باید برگرداند
SlidingExpiration : مدت زمان ذخیره در کش ۳ ساعت تنظیم شده است
Priority : میزان اهمیت حافظه تا در صورت شرایط بحرانی به ترتیب بتواند حافظه را پاک سازی نماید
چنانچه قصد برگزاری دوره ، مشاوره و یا سفارش پروژه را دارید ، درخواست خود را ارسال نمایید
ارسال درخواست دوره
سلام در صورت امکان، با ریزورپیچز هم قرار بدید سپاسگذارم
پاسخسلام کافیست در Razor Pages تزریق وابستگی رو به صورت @inject قرار دهید
با تشکر از شما بابت مطلب خوبتون. با این روش میشه راحت کش رو بصورت داینامیک طراحی کرد بطوریکه از پنل مدیریت تک تک صفحات قابل کنترل باشند.
پاسخسلام . بله می توان از روش کش کردن حافظه برای مشاهده اطلاعاتی که زیاد تغییراتی ندارند استفاده نمایید . در پنل مدیریت باید با تغییر اطلاعات و یا ثبت اطلاعات جدید کش قبلی را حذف و کش جدید ایجاد نمایید