.NET7 MiniAPI Preview6:缓存与限流功能如何优化?

2026-04-30 21:1713阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计466个文字,预计阅读时间需要2分钟。

.NET7 MiniAPI Preview6:缓存与限流功能如何优化?

前几日在用MiniAPI时,还想要一个更优雅的缓存方案,没想到Preview6就带来了。使用起来非常简单,只需注解Service,引用中间件,然后在Map方法的后面调用CacheOutput()即可。CacheOutput也有不同的参数,可以根

  前几在用MiniAPI时还想没有比较优雅的缓存,这不,Preivew6就带来了。使用起来很简单,注入Sevice,引用中间件,然后在Map方法的后面跟CacheOutput()就ok了,CacheOutpu也有不同的参数,可以根据每个方法定制,当然也可以有全局配置,在添加Service时进行统一配置。

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOutputCache();
var app = builder.Build();
app.UseOutputCache();
app.MapGet("/cached", () => DateTime.Now.ToString()).CacheOutput();
app.MapGet("/query", () => DateTime.Now.ToString()).CacheOutput(p => p.VaryByQuery("key").Expire(TimeSpan.FromMinutes(10)));
app.Run();

  本次Preview,还优化了限流,引入了TokenBucketLimiter,还优化了RateLimiterOptions中的属性。

阅读全文

本文共计466个文字,预计阅读时间需要2分钟。

.NET7 MiniAPI Preview6:缓存与限流功能如何优化?

前几日在用MiniAPI时,还想要一个更优雅的缓存方案,没想到Preview6就带来了。使用起来非常简单,只需注解Service,引用中间件,然后在Map方法的后面调用CacheOutput()即可。CacheOutput也有不同的参数,可以根

  前几在用MiniAPI时还想没有比较优雅的缓存,这不,Preivew6就带来了。使用起来很简单,注入Sevice,引用中间件,然后在Map方法的后面跟CacheOutput()就ok了,CacheOutpu也有不同的参数,可以根据每个方法定制,当然也可以有全局配置,在添加Service时进行统一配置。

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOutputCache();
var app = builder.Build();
app.UseOutputCache();
app.MapGet("/cached", () => DateTime.Now.ToString()).CacheOutput();
app.MapGet("/query", () => DateTime.Now.ToString()).CacheOutput(p => p.VaryByQuery("key").Expire(TimeSpan.FromMinutes(10)));
app.Run();

  本次Preview,还优化了限流,引入了TokenBucketLimiter,还优化了RateLimiterOptions中的属性。

阅读全文