1

我正在开发一个.net 客户端应用程序,它使用实体框架来访问数据库。它是一个多用户应用程序,其中(有时)数小时或数天没有变化,有时一次有数百个变化。

我需要缓存很多数据,因为需要进行一些检查并显示给用户。我解决了当一个应用程序实例发生变化时一个缓存更新其他缓存的问题。但是,当更改发生在应用程序的其他实例中时,我不确定最好的方法是什么。

我试图用它SqlDependency来使我的缓存无效,但这会迫使我在只有一位发生变化时重新加载大量数据。对性能不是很好。SqlDependecy此外,当使用更改的应用程序对数据进行更改时,它也会触发,因此一次更改会使缓存更新两次。

因为我从来没有开发过这么多缓存的东西,所以我不知道如何最好地进行。做这个的最好方式是什么?

4

1 回答 1

3

一个位仍然不会强制您重新加载所有数据。
您可以读取读取数据并仅更新已更改的数据。

或者您可以在 SQL 上实现一个触发器来写出更改,因此您只需检查该表。
如果多个客户端正在从触发器表同步,则可能有另一个 FK 表,客户端可以指示他们拾取了什么。
并像每晚一样清理掉东西。

于 2013-04-23T17:57:18.550 回答