摘要
为了提高接口的性能,我们常做的优化就包括缓存,对经常访问但变化不大的数据进行缓存。或者使用http的缓存,减少请求的次数。
web api缓存
在提供的api,我们也可以实现缓存,来减少访问的次数。有个比较好的组件,供我们使用。
通过Nuget安装WebApi.OutputCache.V2开源组件,项目地址:https://github.com/filipw/Strathweb.CacheOutput

使用

[RoutePrefix("api/user")] public class UserController : ApiController
{ private List<User> _lstUsers; public UserController()
{
_lstUsers = new List<User>()
{ new User{ Id=1, Name="wolfy1"}, new User{ Id=2, Name="wolfy2"}, new User{ Id=3, Name="wolfy3"}, new User{ Id=4, Name="wolfy4"}, new User{ Id=5, Name="wolfy5"},
};
} /// <summary>
/// 缓存120s /// </summary>
/// <returns></returns> [HttpGet]
[Route("all")]
[CacheOutput(ClientTimeSpan = 120, ServerTimeSpan = 120)] public HttpResponseMessage GetAll()
{
HttpResponseMessage response = Request.CreateResponse();
response.StatusCode = HttpStatusCode.OK;
response.Content = new StringContent(JsonConvert.SerializeObject(new { _code = 200, _data = _lstUsers }),
System.Text.Encoding.UTF8); return response;
}
}第一次访问

第二次刷新

在Debug模式下,第二次没有进入端点,没有发起请求。
总结
在优化查询接口的时候,如果数据不是非常频繁的变化,可以使用该组件进行缓存方面的优化。关于该组件其他参数,可以参考它项目地址中提供的文档。
随时随地看视频