ASP.NET Core 中的分布式缓存标记帮助程序

作者:Peter Kellner

分布式缓存标记帮助程序将其内容缓存到分布式缓存源,从而大幅提高 ASP.NET Core 应用的性能。

有关标记帮助程序的概述,请参阅 ASP.NET Core 中的标记帮助程序

分布式缓存标记帮助程序与缓存标记帮助程序继承自相同的基类。 分布式标记帮助程序可以使用所有缓存标记帮助程序属性。

分布式缓存标记帮助程序使用构造函数注入IDistributedCache 接口将传递到分布式缓存标记帮助程序的构造函数中。 如果在 Startup.ConfigureServicesStartup.cs)中未创建 IDistributedCache 的具体实现,则分布式缓存标记帮助程序会使用与缓存标记帮助程序相同的内存中提供程序来存储缓存数据。

分布式缓存标记帮助程序属性

与缓存标记帮助程序共享的属性

  • enabled
  • expires-on
  • expires-after
  • expires-sliding
  • vary-by-header
  • vary-by-query
  • vary-by-route
  • vary-by-cookie
  • vary-by-user
  • vary-by
  • priority

分布式缓存标记帮助程序继承自与缓存标记帮助程序相同的类。 有关这些属性的说明,请参阅缓存标记帮助程序

name

属性类型 示例
String my-distributed-cache-unique-key-101

需要 namename 属性用作每个存储的缓存实例的键。 分布式缓存标记帮助程序分配缓存键时只以属性 name 上的键为基础,这点与缓存标记帮助程序不同,后者基于 Razor 页面中的 Razor 页面名称和位置为每个实例分配缓存键。

示例:

<distributed-cache name="my-distributed-cache-unique-key-101">
    Time Inside Cache Tag Helper: @DateTime.Now
</distributed-cache>

分布式缓存标记帮助程序 IDistributedCache 实现

ASP.NET Core 中内置了 IDistributedCache 的两个实现。 一个是基于 SQL Server,另一个是基于 Redis。 还提供第三方实现,如 NCache。 可在 ASP.NET Core 中的分布式缓存中找到这些实现的详细信息。 这两种实现都需要在 Startup 中设置 IDistributedCache 的实例。

没有专门与使用 IDistributedCache 的任何特定实现相关的标记属性。

其他资源