作者:Peter Kellner 和 Luke Latham
分布式缓存标记帮助程序将其内容缓存到分布式缓存源,从而大幅提高 ASP.NET Core 应用的性能。
有关标记帮助程序的概述,请参阅 ASP.NET Core 中的标记帮助程序。
分布式缓存标记帮助程序与缓存标记帮助程序继承自相同的基类。 分布式标记帮助程序可以使用所有缓存标记帮助程序属性。
分布式缓存标记帮助程序使用构造函数注入。 IDistributedCache 接口将传递到分布式缓存标记帮助程序的构造函数中。 如果在 Startup.ConfigureServices
(Startup.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
分布式缓存标记帮助程序继承自与缓存标记帮助程序相同的类。 有关这些属性的说明,请参阅缓存标记帮助程序。
属性类型 | 示例 |
---|---|
String | my-distributed-cache-unique-key-101 |
name
是必需的。 name
属性用作每个存储的缓存实例的键。 分布式缓存标记帮助程序分配缓存键时只以属性 name
上的键为基础,这点与缓存标记帮助程序不同,后者基于 Razor 页面中的 Razor 页面名称和位置为每个实例分配缓存键。
示例:
<distributed-cache name="my-distributed-cache-unique-key-101"> Time Inside Cache Tag Helper: @DateTime.Now </distributed-cache>
ASP.NET Core 中内置了 IDistributedCache 的两个实现。 一个是基于 SQL Server,另一个是基于 Redis。 还提供第三方实现,如 NCache。 有关这些实现的详细信息,请参阅 ASP.NET Core 中的分布式缓存。 这两种实现都需要在 Startup
中设置 IDistributedCache
的实例。
没有专门与使用 IDistributedCache
的任何特定实现相关的标记属性。