具有Entity Framework Core的缓存表

时间:2016-10-25 12:31:33

标签: asp.net-core-mvc entity-framework-core asp.net-core-1.0

我有一个数据库(SQL Server供您参考,但我认为这不是很重要)有一些表,以及一个实现Entity Framework Core来管理数据的ASP.NET Core Web应用程序。

在我的数据库中,我有4个表经常使用并且几乎连接到每个请求,并且这些表中的数据很少更新,我想将它们放在缓存中以便不在每个数据库中获取数据时间,但仅适用于此表。

如何使用Entity Framework Core实现这一目标?

我阅读了文档,但我没有找到任何有关缓存的信息:https://docs.efproject.net/en/latest

3 个答案:

答案 0 :(得分:1)

您可以使用 StackExchange.Redis 缓存。您只需将表数据存储在其上,并在表更新时使其无效。就是这样。

以下是链接:StackExchange.Redis

答案 1 :(得分:0)

我认为你不能使用"缓存" EF查询中的表行。您可以缓存表(以redis,内存 - 任何您选择的方式),但是当您对数据库进行查询时 - 您需要在代码(服务器内存)中执行其他手动处理,以便将EF与缓存表的结果连接起来

答案 2 :(得分:0)

AFAIK,EF没有缓存。然而,NHibernate具有出色的缓存支持。现在必须使用EF而不是NHibernate有点痛苦,但NHibernate还没有支持Core。