我正在使用一个大型 Web 应用程序,其中缓存中最多可以有 100,000 个对象,这些对象是从数据库中填充的。
数据库中有一个表,给定对象 ID,它将为您提供 last_updated 值,只要该对象的任何方面在数据库中发生更改,该值就会更新。
我已经阅读过为每个对象创建一个 SqlCacheDependency(每个对象在一个表中的一行),这样大量的对象是不行的。
我正在寻找替代解决方案。我想到的一种可能的解决方案是将“last_updated”表缓存为数据结构,并为其所基于的表创建缓存依赖项。然后,每当请求 100,000 个对象中的一个时,我都会检查缓存的“last_updated”表,如果它已过期,我会再次从数据库中获取对象并重新缓存它。如果没有过期,我给出缓存的版本。这似乎是一个合理的解决方案?