每当我需要从缓存中检索数据时,我都会使用 FromCache(( 方法。
我没有设置任何默认缓存策略,并且正在使用默认情况下使用的任何 EF 加。
默认缓存持续时间是多少?一分钟?还是无限?
免责声明:我是项目实体框架加的所有者
默认情况下,Entity Framework Plus 使用 MemoryCache。我们不会覆盖任何东西。请参阅 EF+ 内存缓存
所以这个问题应该更What is the default .NET Memory Cache duration?
查看 MSDN,听起来如果未提供任何内容,则默认值为InfiniteAbsoluteExpiration
如果未提供逐出或过期信息,则默认值为 InfiniteAbsoluteExuriation,这意味着缓存中的项不会基于绝对时间过期。相反,项目仅在内存压力时过期。作为最佳实践,应始终显式提供绝对或侧线过期。在本演练中,您使用 10 秒的绝对过期时间。
请参阅上面的答案,但您可以使用它来设置默认策略:
var options = new MemoryCacheEntryOptions() { SlidingExpiration = TimeSpan.FromHours(2)};
QueryCacheManager.DefaultMemoryCacheEntryOptions = options;
来源: https://entityframework-plus.net/ef-core-query-cache#expiration