什么是 EF Plus 的默认缓存持续时间



每当我需要从缓存中检索数据时,我都会使用 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

最新更新