繁体   English   中英

内存中asp.net核心中的会话

[英]session in asp.net core in memory

如我所知,在ASP.NET Core中,我们可以将会话存储在内存中,SQL Server或Redis中。

在该网站上: http : //jiodev.com/aspnet/core/performance/caching/distributed我发现了以下文章:

分布式缓存由多个应用程序服务器共享(请参阅缓存基础知识)。 >缓存中的信息不会存储在单个Web服务器的内存中,并且缓存的数据可用于所有应用程序的服务器。

据我了解,即使我的应用程序位于多台服务器上并且可以共享会话,我也可以在内存中使用分布式缓存。 如果是,那么何时将会话存储在sql server或redis中?

内存中分布式缓存是矛盾的,除非您为集群中的其他服务器提供某种方式来连接它并检索缓存的数据。

对于您的情况,我认为您可以应用以下简单规则:

  • 1个服务器=内存中
  • > 1服务器= SQL Server或Redis(即分布式)。

如果您重新阅读该文章,我认为您会发现谈论的IDistributedCache的两个实现是SQL Server和Redis。 没有IDistributedCache的内存中实现,如果有,则仅适用于测试目的。

编辑:正如下面ESG指出,实际上在内存中执行IDistributedCache ,但它实际上不是一个分布式缓存,并且正如我上面所说,只是为了测试/开发方案或有用的分布式缓存可能是将来需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM