Windows Azure角色缓存与共享缓存

mad*_*dog 1 caching azure shared-cache azure-worker-roles azure-web-roles

我们在Azure中有一个网站,我们希望在网站上缓存内容.将更新内容的应用程序将在Azure之外.我们让这个场景与共享缓存一起使用.但是,共享缓存被认为是一项遗留功能,因此我们希望了解其他解决方案,包括使用角色内缓存.缓存的内容非常小,不应超过1 MB,并且将由C#代码使用.

我们可以使用辅助角色在Web角色或专用缓存中使用共存缓存.

我们使用角色内缓存的问题是:

  • 如何从外部应用程序更新共存缓存?

  • 如果有办法从外部应用程序更新共存缓存,可以使用缓存通知使所有共存缓存节点无效,对吗?

  • 我们现在使用超小型Web角色实例 - 我们是否需要升级到小型/中型实例?

  • 针对我们的场景,专用缓存更好吗?

    提前致谢.

Igo*_*rek 5

在做了一系列的研究并在Simon已经提到的SO线程的回答的指导下,以下是我的回答:

  • 问:如何从外部应用程序更新共存缓存?
  • 答:我会在Webrole上公开一个清除缓存的公共端点.我会从外部应用程序调用该端点(此端点可以是服务,其余URL等).或者,将消息抛出到队列中,让Webroles监视该队列,并在队列中收到消息时从缓存中清除该项.无论哪种方式,您都在实施自己的通知机制

  • 问:如果有办法从外部应用程序更新共存缓存,可以使用缓存通知使所有共存缓存节点无效,对吗?

  • 答:我不相信.共址缓存的端点严格内部.

  • 问:我们现在使用超小型Web角色实例 - 我们是否需要升级到小型/中型实例?

  • 答:是的.我相信Small实例和更高版本支持colocated缓存.你需要试一试,看看你得到了多少内存,剩下多少,以及这对你的主要应用是否有用

  • 问:针对我们的场景,专用缓存是否更好?

  • 答:专用与共同定位的缓存实际上是关于负载.您的缓存和应用服务器上是否有足够的负载来证明将缓存移动到单独的角色?查看此文章以获取Microsoft的建议:http: //msdn.microsoft.com/en-us/library/windowsazure/hh914129.aspx