0

我正在使用一个大型 Web 应用程序,其中缓存中最多可以有 100,000 个对象,这些对象是从数据库中填充的。

数据库中有一个表,给定对象 ID,它将为您提供 last_updated 值,只要该对象的任何方面在数据库中发生更改,该值就会更新。

我已经阅读过为每个对象创建一个 SqlCacheDependency(每个对象在一个表中的一行),这样大量的对象是不行的。

我正在寻找替代解决方案。我想到的一种可能的解决方案是将“last_updated”表缓存为数据结构,并为其所基于的表创建缓存依赖项。然后,每当请求 100,000 个对象中的一个时,我都会检查缓存的“last_updated”表,如果它已过期,我会再次从数据库中获取对象并重新缓存它。如果没有过期,我给出缓存的版本。这似乎是一个合理的解决方案?

4

1 回答 1

0

但是..如何为表的单行执行此操作..在 ASP.Net 中,您可以创建使用代理服务的 SQl Server 依赖项..并将数据放入缓存中,每当表更新时..缓存将被拒绝,新数据将从数据库中取出并放入缓存中。

我希望这能给你一些想法!

于 2013-07-16T18:54:42.700 回答