aps.net Core3.1 Session和MemoryCache的使用

Session缓存和Cache缓存的区别如下:

(1)最大的区别是Cache提供缓存依赖来更新数据,而Session只能依靠定义的缓存时间来判断缓存数据是否有效。

(2)即使应用程序终止,只要Cache.Add方法中定义的缓存时间未过期,下次开启应用程序时,缓存的数据依然存在。而Session缓存只是存在于一次会话中,会话结束后,数据也就失效了。

(3)Session容易丢失,导致数据的不确定性,而Cache不会出现这种情况。

(4)由于Session是每次会话就被加载,所以不适宜存放大量信息,否则会导致服务器的性能降低。而Cache则主要用来保存大容量信息,如数据库中的多个表。

需要特别注意:为了提高Cache的有效利用率,建议对于不经常改动的数据使用Cache。

public void ConfigureServices(IServiceCollection services)
{  
    //如何处理session
   services.AddSession();  
    //memoryCache   
   services.AddMemoryCache();
   
    //.......
}

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    //启用session
    app.UseSession();
    app.UseRouting();
    //......
}

原文地址:https://www.cnblogs.com/netlock/p/13495242.html