Windows Azure缓存文档说
如果可能,存储和重用相同的 DataCacheFactory 对象以节省内存并优化性能。”
有没有人看到任何指标或任何量化这有多昂贵?
“MaxConnectionsToServer 设置...确定每个 DataCacheFactory 向缓存集群打开的通道数。”
因此,如果 MaxConnectionsToServer = 1 并且 DataCacheFactory 是您的应用程序中的单例,那么您已经有效地将所有请求同步到您的 Web 服务器!
但是,有很多迹象 表明 DataCacheFactory 应该是一个单例(即放在 Application_OnStart 中)。
这很关键,我不敢相信它不在 Microsoft 文档中。DataCacheFactory 在 AppFabric、Azure 共享缓存和 Azure 缓存中的处理方式是否相同?我只是很难相信微软以需要单例工厂对象的方式设计缓存。这就像要求任何使用 SqlConnection 的人在他们的应用程序中拥有一个单例 SqlConnectionFactory 对象。
因此,考虑一个相对平均的 Web 应用程序(例如,每小时 1,000 次请求,缓存中约 100 个对象,平均请求访问 5 个缓存对象):
- 默认情况下(和推荐)一次应该有多少个工厂对象?
- 创建 DataCacheFactory 引用需要多长时间?
- 创建 DataCache 引用需要多长时间?
- 每个应用程序应该只有 1 个 DataCacheFactory 对象,每个请求只有 1 个 DataCache 引用吗?
编辑(正在进行的答案):
(1/2)。让 Azure 连接池处理工厂对象
(3)。还在测试...
(4)。仍在试图弄清楚我是否应该重新使用 DataCache 引用