在 Web 应用程序中存储缓存数据 asp.net 位置



我不明白应该使用哪个容器来存储缓存:

HttpContext.Current.Session还是MemoryCache

存储在HttpContext.Current.Session中的数据和MemoryCache有什么区别?

当您

为特定用户存储数据时,您可以使用 HttpContext.Current.Session

内存缓存是当您为所有用户存储数据时,数据在所有用户之间共享

你唯一的问题是:SessionCache之间的区别......好吧Session特定于帐户或用户帐户(每个用户特定访问权限都是会话的一部分(,而Cache是应用程序的全局。您只存储将在整个应用程序中使用的通用数据,而不考虑cache中的用户会话。现在,您的缓存存储可能是持久的(如果您选择存储在数据库或分布式缓存中,例如RedisAzure memcache/非持久性 ASP.NET HttpContext.Cache例如将缓存对象存储在工作进程中的对象w3wp...因此,如果工作进程通过回收应用程序池而死亡,则会丢失缓存对象(

此外,通过会话,如果要跨所有Web服务器(在负载平衡环境中(访问会话,则应考虑使用Pooled Session

最新更新