我们在Azure中有一个网站,我们希望在网站上缓存内容。将更新内容的应用程序将在Azure之外。我们让这个场景与共享缓存一起使用。但是,共享缓存被认为是一项遗留功能,因此我们希望了解其他解决方案,包括使用角色内缓存。缓存的内容非常小,不应超过1 MB,并且将由C#代码使用。
我们可以使用辅助角色在Web角色或专用缓存中使用共存缓存。
我们使用角色内缓存的问题是:
如何从外部应用程序更新共存缓存?
如果有办法从外部应用更新共存缓存, 缓存通知可用于使所有共址缓存节点无效,更正?
我们现在使用超小型Web角色实例 - 我们是否需要升级到 小/中型实例?
我们的方案更专用缓存吗?
提前致谢。
答案 0 :(得分:5)
在他已经提到的SO线程中做了大量研究和guided by Simon's responses之后,我的回答是:
答:我会在您的Webrole上公开一个清除缓存的公共端点。我会从外部应用程序调用该端点(此端点可以是服务,其余URL等)。或者,将消息抛出到队列中,让Webroles监视该队列,并在队列中收到消息时从缓存中清除该项。无论哪种方式,您都在实施自己的通知机制
问:如果有办法从外部应用程序更新共存缓存,可以使用缓存通知使所有共存缓存节点无效,对吗?
答:我不相信。共址缓存的端点严格内部。
问:我们现在使用超小型网络角色实例 - 我们是否需要升级到中小型实例?
答:是的。我相信Small实例和更高版本支持colocated缓存。您需要尝试这一点,看看你得到了多少内存以及剩余多少以及这对你的主要应用程序是否有用
问:我们的方案是否更专用缓存?