我想知道是否有任何缓存引擎,或者是否有人有一个可以满足这些要求的好解决方案:
有一个单独的管理工具来处理数据库中的所有数据,因此当对象无效时,我可以轻松地将Id存储在缓存中。我还可以向一个页面发出请求,销毁该对象的所有缓存HTML片段。
但是当我编写标记时,如何从缓存中存储和检索特定的段?因为我可以在后面的代码中执行此操作并在字符串中添加标记但我不希望这样。我希望标记尽可能完整。
答案 0 :(得分:0)
我假设这都在ASP .Net页面中。我认为你的情况很简单,你可以自己编写这个缓存机制:
未来的请求会使用您存储的结果,除非它们在您提及的情况下失效。 (根据我的经验,1分钟的时间到期可以很好地工作)。
如果您希望变得更复杂,并且即使重新启动IIS也会保留缓存:您可以轻松使用XmlSerializer并将结果写入文件而不是使用静态变量。
答案 1 :(得分:0)
您需要考虑两个问题:
编号1:缓存失效。这可以使用缓存依赖项来解决(请参阅http://msdn.microsoft.com/en-us/library/system.web.caching.cachedependency.aspx),这将允许事件无效并在数据更改时进行重新调整(自动!)。
第2名:缓存存储。为此,只需使用标准的ASP.Net缓存API,使用HttpContext.Current.Cache(或合适的抽象)。这支持如上所述的依赖系统。
ASP.Net缓存实现是可插拔的,因此您可以更改内存,文件,SQL数据库,Memcached(通过Enyim)或Microsoft Velocity之间的存储机制。每个缓存存储都具有不同的可靠性,您可以根据自己的要求进行选择。