跳到主要内容
版本:0.5.x

输出缓存

Sharkable 提供内置的输出缓存,提升响应速度并降低服务器负载。

快速开始

builder.Services.AddShark(opt =>
{
opt.ConfigureOutputCache(c =>
{
c.AddPolicy("cache1h", b => b.Expire(TimeSpan.FromHours(1)));
});
});

var app = builder.Build();
app.UseShark();

app.MapGet("hello", () => "hi").SharkCacheOutput("cache1h");

多策略

opt.ConfigureOutputCache(c =>
{
c.AddPolicy("short", b => b.Expire(TimeSpan.FromSeconds(30)));
c.AddPolicy("medium", b => b.Expire(TimeSpan.FromMinutes(10)));
c.AddPolicy("cache1h", b => b.Expire(TimeSpan.FromHours(1)));
});

按端点应用

通过 Sharkable DSL 在任意映射端点上应用策略:

app.MapGet("products", () => GetProducts()).SharkCacheOutput("medium");
app.MapGet("config", () => GetConfig()).SharkCacheOutput("cache1h");

AOT 兼容

输出缓存委托给 ASP.NET Core 的 AddOutputCache(),完全 AOT 兼容。