我需要对一组几乎静态(可能每天更改1次)的对象进行缓存,这些对象可以在我的ASP.NET Web API OData服务中使用。这个结果集在跨多个调用之间使用(意味着不是特定于客户端调用),因此需要在应用程序级别进行缓存。
我搜索了大量关于“Web API中的缓存”的内容,但所有结果都是关于“输出缓存”的。这不是我想要的。我想缓存一个“People”集合以便在随后的调用中重新使用(可能具有滑动过期时间)。
我的问题是,既然这仍然只是ASP.NET,那么我是否应该使用传统的应用程序缓存技术来将此集合持久化到内存中,还是我需要做其他事情?这个集合并没有直接返回给用户,而是作为OData查询的源使用在API调用的幕后。每次调用时都去数据库获取完全相同的信息是没有必要的。每小时过期就足够了。
有人知道如何在这种情况下正确地缓存数据吗?