我们的Web应用程序有一些非常大的对象,我们从数据库加载到缓存中。
我们当前的策略很好......如果您不是触发缓存加载的用户。在这种情况下谈论5-10秒额外的加载时间是不可接受的。
目前我们每隔10分钟就会获取一次这个对象。
目前解决这个问题的标准解决方案是什么?我有以下两个想法。
拥有一个独立的服务,在缓存项到期时重新加载它们。
无限期地缓存对象,始终提供最后一个缓存对象,但在某个到期时间更新隔离线程中的缓存对象。 (虽然因为对象可能已过时,但风险很大)
我们也在使用,ASP.NET MVC,Postgre SQL和App Fabric,虽然我认为这不应该太重要,因为这是非常理论化的。