如何独立于 IIS 缓存数据

How to Cache data independent of IIS

我有 2 个应用程序 Application_A 和 Application_B。 Application_B 已为 Database_B 中的数据实施缓存。缓存位于 Application_B 的 IIS 上。 我需要一种方法,Application_A 将调用 WCF 服务,而该 Web 服务又将调用 Application_B 的缓存,但我认为这是不可能的,因为缓存是在 Application_B 中实现的。

他们的方法是 Application_A 可以同时使用 WCF 服务来使用缓存 Application_B 可以直接将其用作内部缓存。

我不推荐 AppFabric 缓存,例如,与 Redis 相比,出于某种原因,它对我来说太慢了。

但是你走在正确的道路上,如果你真的想分离它,你可能需要一个独立于你的应用程序运行的分布式缓存。

我会使用 Redis 缓存。有一个 Windows 版本的 Redis,由 Microsoft 开发。此外,Microsoft 没有在 Azure 上提供任何其他缓存,似乎只为新系统提供 Redis。这就是他们要走的路!? ;)

如果您害怕自己实现它,或者您可能不知道现在要使用哪个缓存系统,那也没关系。您可以使用抽象层,例如我的 CacheManager.

它支持 Redis 以及 AppFabric 或 Azure 缓存,虽然我没有很好地测试 AppFabric,因为 AppFabric 是 bäh...

但是您可以简单地编写一次应用程序代码,如果需要,甚至可以通过配置切换缓存系统...