Asp.net mvc 除了ASP.NET MVC OutputCache之外,还有其他选择吗
我有一个带有IsDataModified()的公共静态/单例类,它受数据库、文件、用户类型、api等的更改影响,立即处理,只返回一个bool变量 输出数据的修改频率从一分钟到几个月变化极大,因此我不会使用滑动过期,而是让持续时间为MAX或无穷长 但我要找的是Asp.net mvc 除了ASP.NET MVC OutputCache之外,还有其他选择吗,asp.net-mvc,outputcache,Asp.net Mvc,Outputcache,我有一个带有IsDataModified()的公共静态/单例类,它受数据库、文件、用户类型、api等的更改影响,立即处理,只返回一个bool变量 输出数据的修改频率从一分钟到几个月变化极大,因此我不会使用滑动过期,而是让持续时间为MAX或无穷长 但我要找的是 列表项 浏览器请求 MVC筛选器,用于检查缓存是否丢失或IsDataModified() 更新缓存并返回 否则返回现有缓存 我尝试扩展OutputCache,将持续时间设置为非常大的数字,但一旦页面被缓存,过滤器就不会被触发 基本上,我不
这可能吗?请提出建议。所以我已经实现了一个构建在Redis之上的解决方案(memcache要复杂得多)。我使用一个开源的Redis输出缓存提供程序,它基本上创建了一个与页面URL对应的键。每当其中一个页面的底层数据发生更改时,我都会从Redis中删除该值,在Redis中,键会处理一些模式。(我的数据排序有一个层次结构,因此当缓存是来自父级的更新数据时,我会删除更多项的缓存)
在更新数据时使用类似的方法删除缓存的页面可能也适用于您。另一方面,我正在考虑尝试更改我的流程,这样我就有了一个后台服务,在数据更新时创建页面并替换缓存,这样第一个用户在页面首次从缓存中删除后不会有缓慢的响应。因此我实现了一个构建在Redis之上的解决方案(memcache要复杂得多)。我使用一个开源的Redis输出缓存提供程序,它基本上创建了一个与页面URL相对应的键。每当其中一个页面的基础数据发生更改时,我都会从Redis中删除该值,其中键处理一些模式。(我的数据排序有一个层次结构,因此当缓存是来自父级的更新数据时,我会删除更多项的缓存)
在更新数据时,使用类似的方法删除缓存的页面可能也适用于您。另一方面,我正在考虑尝试更改我的流程,以便我有一个后台服务,在更新数据时创建页面并替换缓存,以便第一个用户在页面更新后不会有缓慢的响应首先从缓存中删除。非常明确地说,服务器端cachinglook进入memcachememcache很好,如果我能够将变量/非基本数据类型传递给FiltServer,那么尝试ObjectCache应该可以满足我的需要。具体地说,服务器端cachinglook进入memcachememcache很好,如果启用,尝试ObjectCache应该可以满足我的需要我能够将变量/非基本数据类型传递给过滤器