ASP.NET Core 会话提供程序 NCache

In ASP.NET核心 应用程序,一个 会话状态 对于存储用户特定数据至关重要,但默认会话提供程序在高流量下可能会变慢,并且在性能和可扩展性方面会遇到困难。

增强 ASP.NET Core 会话

NCache ASP.NET Core 会话提供程序 通过提供内存分布式缓存解决方案来解决这些问题,以确保 高可用性、可靠性和 可扩展性 用于会话数据。使用 NCache,您的会话存储保持快速且响应迅速,并消除了由于应用程序重启或服务器故障导致的会话丢失。

NCache Web 服务器集群中可扩展 ASP.NET Core 会话存储的架构图。
图 1:分布式 ASP.NET Core 会话状态架构,展示了线性可扩展性。

使用的主要好处 NCache 会话

  • 性能提升: NCache 会话数据存储在内存中,应用程序可实现亚毫秒级延迟和更佳的响应速度。会话数据无需访问速度较慢的数据库即可快速检索,从而提供流畅的用户体验。
  • 通过复制实现高可用性: 会话数据不会丢失。 NCache 通过确保跨多个缓存服务器的会话数据复制并支持自动故障转移,为关键任务应用程序提供容错和高可用性解决方案。
  • 线性可扩展性: 随着流量的增加,您只需添加更多 NCache 服务器加入集群。这使得会话存储能够动态扩展而不会降低性能,因此您的 Web 应用程序将能够轻松处理不断增加的工作负载。
  • 速度优化: NCache 采用高效 紧凑序列化机制 这使得会话数据存储和检索速度非常快,而且开销最小。

NCache 与默认 SQL 会话提供程序相比

  • 存储: 内存(NCache与基于磁盘的(SQL)
  • 可扩展性: 线性缩放(NCache) 与容易出现瓶颈的(SQL)
  • 锁定: 分布式锁定(NCache与行锁定(SQL)

ASP.NET Core 会话的无缝配置

整合 NCache ASP.NET Core 中的会话提供程序非常简单。只需在以下位置进行配置即可: 程序.cs 使用以下代码片段的文件:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container
builder.Services.AddControllersWithViews();

// Set up MVC Services
builder.Services.AddMvc();

// Configure NCache Session State
builder.Services.AddNCacheSession(options =>
{
      options.CacheName = "demoCache";
      options.EnableLogs = true;
      options.UseJsonSerialization = true; // To avoid the Binary Format error
      options.SessionAppId = "demoApp";
      options.SessionOptions.IdleTimeout = 5; // Session expires after 5 minutes
      options.SessionOptions.CookieName = "AspNetCore.Session";
});

通过这个简单的配置, ASP.NET Core 会话 无缝存储和检索 NCache这样就无需使用基于 SQL 的会话存储。最重要的是,这完全不需要对现有控制器或应用程序逻辑进行任何代码更改。

多个地区/区域的会议

  • 广域网复制 ASP.NET Core 会话: NCache 此功能允许将所有 ASP.NET Core 会话通过广域网 (WAN) 复制到其他区域或数据中心。即使特定区域或可用区发生故障,此功能也能确保您的会话永不丢失。
  • 多站点 ASP.NET 会话状态: 对于在 WAN 上复制所有会话可能会占用大量带宽的情况, NCache 提供 多站点会话功能。在此设置中,会话数据仍保留在其原始位置,但如果流量重定向到另一个区域或地区,则可以无缝地随用户移动。这种主动-主动部署方法可使应用程序平稳运行,而无需不必要的数据复制。

通过利用这些功能, NCache 确保您的应用程序的会话管理具有弹性、可扩展且针对多区域部署进行了优化。

高级会话功能

  • 分布式会话锁定(数据完整性): NCache 可以很好地控制 会话锁定 避免并发会话更新中的冲突,同时保持高性能。
  • 诊断日志记录与监控: 轻松解决与会话相关的问题 详细日志. NCache 提供深入的调试和 监测机制 使您的会话存储顺利运行。

实际用例

NCache 非常适合高流量的 ASP.NET Core 应用程序,包括:

  • 电子商务网站: 通过高速会话存储同时处理数百万并发用户,确保无缝的购物体验。
  • 网上银行平台: 支持安全交易和 用户身份验证,提供高度可用和安全的会话。
  • 多服务器应用程序: 保持多个服务器实例之间的会话一致性,确保分布式环境中的顺利运行。
  • 分布式 Web 应用程序: 通过可靠的会话复制在云和混合环境中运行应用程序,支持多区域部署。

开始使用 NCache

整合 NCache ASP.NET Core 会话提供程序 今天并将您的会话管理提升到一个新的水平。

接下来做什么

常见问题

是的, NCache 实现了标准的 ASP.NET Core IDistributedCache 接口。这样你就可以插入 NCache 无需修改现有控制器代码,即可将此功能作为标准会话的直接替代品集成到您的应用程序中。

NCache 通过将会话数据完全存储在内存中,消除磁盘 I/O 瓶颈,其性能显著高于 SQL Server。与 SQL 数据库不同, NCache 提供线性可扩展性和亚毫秒级延迟,即使在流量高峰期也能确保性能稳定。

不,会话不会在应用程序重启期间过期或消失。 NCache 作为进程外服务运行,即使您的 Web 服务器或应用程序进程重新启动,会话数据仍安全地存储在分布式缓存集群中。

是的, NCache 支持广域网复制,适用于多区域部署。它提供用于灾难恢复的主动-被动复制和主动-主动(多站点)会话共享,使流量能够在区域之间无缝移动,而不会丢失会话。

联系我们

联系电话

+1 214-619-2601 (美国)

+44 20 7993 8327 (英国)

©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。