ASP.NET 缓存优势和概述
您可以在现有 ASP.NET 应用程序中快速使用集群会话,而无需更改任何代码,并且可以立即看到应用程序的性能提升。 NCache 为 Web 场提供高性能内存中 ASP.NET 会话集群,比将它们存储在数据库中更快且更具可扩展性。 它速度更快,因为会话保存在内存中并且更接近 ASP.NET 应用程序。 而且,它更具可扩展性,因为会话可以分发到场中的多个服务器,这些服务器比数据库服务器可以更好地处理更大的负载。
NCache,您可以消除在负载均衡器中使用粘性会话的需要。 这显着提高了应用程序的可扩展性。 NCache 提供强大的动态会话集群。 您可以在多个 Web 服务器或多个专用会话缓存服务器上本地复制或分发会话。 NCache 提供了一组丰富的功能来将您的会话集群从小型网络农场发展到大型网络农场。
ASP.NET 会话状态允许通过实现以下方式将会话数据存储到自定义数据源中 SessionStateStoreProviderBase 班级。 会话状态存储提供程序已使用以下方式实现 NCache 将数据存储在分布式缓存中。
NCache基于会话状态存储提供程序具有以下优点:
无代码更改: NCache 会话状态提供程序可以在应用程序中使用,无需更改任何代码。
更好的性能: 会话数据存储在内存缓存中,以实现最佳性能。
可靠性: 默认情况下,会话存储在 ASP.NET 进程的内存中。 如果进程回收或者应用服务器宕机,会话数据就会丢失。 和 NCache,会话数据存储在 ASP.NET 进程之外的缓存集群中。 可以选择任何缓存拓扑来满足可靠性需求。 因此,如果应用程序服务器出现故障,当 ASP.NET 进程回收或应用程序服务器恢复时,会话数据仍然可用。
不需要粘性会话: NCache 会话状态提供程序消除了负载均衡器中粘性会话的使用。
NCache 缓存存储-可扩展性: NCache 会话状态提供者使用 NCache 用于存储。 这里可以使用集群缓存来获得更好的可扩展性。 使用它可以在运行时向会话集群添加更多服务器; 它为应用程序带来了更高的可扩展性和可靠性。 Web 场的 ASP.NET 会话集群比将它们存储在数据库中更快且更具可扩展性。
可用性、负载平衡、容错: 在网络场环境中,它通过在集群缓存中的所有服务器节点上保持会话数据可用来提供更好的容错能力,以更好地处理更大的负载。 这是因为会话可以分发到场中的多个服务器。 因此,可以肯定地说,它会带来高性能。 它适用于从小到大的网络场的会话集群。
集群拓扑: 对于会话缓存,可以使用不同的集群拓扑。 复制拓扑提供客户端负载平衡,以便 Web 应用程序不会在密集流量期间受到影响。 如果使用分区副本缓存,它将为应用程序提供高可扩展性、高可靠性,并且速度极快。 会话可以在本地多个 Web 服务器或多个专用会话缓存服务器上进行复制或分布/分区。 有关缓存拓扑详细信息,请参阅部分 缓存拓扑.
缓存中的会话查找变得容易: 可以在一次调用中检索缓存中的所有会话数据。 NCache 为会话提供标签。 通过一次操作,可以轻松获取带有标签的所有会话数据。
独占锁定: 为了避免死锁和数据完整性问题,提供了排它锁 NCache 会话状态提供者。 锁定是可配置的,默认情况下是禁用的。
锁定释放重试: 如果使用独占锁,还会配置锁定重试次数。 如果有并发请求,可以释放锁。
位置亲和力: NCache的会话状态提供程序的位置关联性跨多个地理上分离的 Web 场管理 ASP.NET 会话状态。 对于位置关联性,必须为每个网络场指定一个“主”缓存和一个或多个“辅助”缓存。 主缓存将用于本地区域中的所有本地流量,而辅助缓存则用于遥远的地理区域。 这些是在应用程序中配置的 网页配置 文件。 此优化仅在 .NET 2.0 及更高版本中可行。
在本节中
ASP.NET 会话状态提供程序属性
解释如何使用 Session 来存储 NCache的 ASP.NET 的会话状态提供程序。
多区域 ASP.NET 会话状态提供程序配置
解释位置关联性功能如何 NCache 可以使用分布在多个区域的集群缓存为 Web 场配置。
ASP.NET 和 ASP 之间的会话共享.NET Core
解释如何使用 ASP 共享和更新 ASP.NET 会话.NET Core 会话,反之亦然。
ASP.NET SignalR Backplane
解释如何使用 SignalR 配置和使用 NCache 在 ASP.NET 应用程序中。
ASP.NET View State 高速缓存
解释如何使用视图状态缓存和内容优化功能 NCache.
用于 ASP.NET 输出缓存的分布式缓存
演示如何使用输出缓存来缓存对 ASP.NET 页面的动态请求的 HTML 输出,从而加快整体响应过程。