Sql server ASP.NET MVC中的数据缓存存储

Sql server ASP.NET MVC中的数据缓存存储,sql-server,asp.net-mvc,caching,Sql Server,Asp.net Mvc,Caching,问候地球同胞们 我正在研究使用ASP.NETMVC缓存从各种数据库表检索的数据的方法。我们有大量的数据,每天只更新一次,从那时起是静态的。这可能会有所不同,但通常是一个用户、员工、部门、办公室、我们所在位置等的列表 我的问题是,你首先是如何检索数据的?你把它存放在哪里?文本文件,还是实际代码?什么决定缓存是否需要更新?我更喜欢面向对象的方法,这样我就可以将数据行视为对象。我已经在MVC应用程序中使用LINQ手工创建了一个模型。此外,我应该如何检查缓存是否脏?数据库应该做些什么,还是应用程序应该做

问候地球同胞们

我正在研究使用ASP.NETMVC缓存从各种数据库表检索的数据的方法。我们有大量的数据,每天只更新一次,从那时起是静态的。这可能会有所不同,但通常是一个用户、员工、部门、办公室、我们所在位置等的列表

我的问题是,你首先是如何检索数据的?你把它存放在哪里?文本文件,还是实际代码?什么决定缓存是否需要更新?我更喜欢面向对象的方法,这样我就可以将数据行视为对象。我已经在MVC应用程序中使用LINQ手工创建了一个模型。此外,我应该如何检查缓存是否脏?数据库应该做些什么,还是应用程序应该做些什么?例如,当一行被更新时,数据库触发器是否应该去做一些事情来指示已经进行了更改?它是否可以写入文本文件?或者我的应用程序是否应该快速检查是否有任何更改?我知道有很多方法,但有推荐的吗


考虑到我在缓存方面没有任何经验,所以要温柔

保存一个静态对象数组、列表、Hashmap等,其中包含每种类型数据的所有数据项—员工数组、部门数组等等,或者使用服务器缓存并使用您自己定义的密钥将这些数据容器存储在其中。使用缓存是非常直接的,也是最常用的

使用Cache对象还允许您指定绝对过期时间或最后一次触键时的时间,以及缓存依赖项,您可以在其中基于FS文件重置缓存项


如有必要,可以通过限制特定项上的缓存大小来创建更复杂的场景,例如。

与前面提到的其他内容一样,您可能应该使用缓存并根据表使缓存无效


您应该问问自己,您需要如何查询数据。如果您需要sql的强大功能,那么缓存可能会妨碍您。如果需要对数据进行筛选、分页和排序,则必须决定在何处进行:在从缓存中获得结果后,使用sql或linq。答案主要取决于查询结果集所需的时间。

正如您所说,您什么都不知道,首先要查看的是OutputCacheAttribute-。显然,这不能满足您的所有需求,但它可能满足其中的一些需求。