Sem*_*Zen 7 azure azure-caching
如果可能,存储并重用相同的DataCacheFactory对象以节省内存并优化性能."
有没有人看到任何指标或任何量化这是多么昂贵?
"MaxConnectionsToServer设置...确定打开到缓存集群的每个DataCacheFactory的chennel数量."
因此,如果MaxConnectionsToServer = 1且DataCacheFactory是您应用中的单例,那么您已经有效地将所有请求同步到您的Web服务器!
然而,有 一个 很多迹象表明DataCacheFactory应该是一个单身(即放在Application_OnStart)的.
这很关键,我无法相信它不在Microsoft文档中.DataFacheFactory在AppFabric,Azure共享缓存和Azure缓存中的处理方式是否相同?我很难相信微软以一种需要单件工厂对象的方式设计缓存.这就像要求任何使用SqlConnection的人在其应用程序中拥有单个SqlConnectionFactory对象一样.
因此,考虑到相对平均的Web应用程序(例如,每小时1,000个请求,缓存中约100个对象,平均请求访问5个缓存对象):
编辑(答案正在进行中):
(1/2).让Azure连接池处理Factory对象
(3).还在测试......
(4).仍然试图弄清楚我是否应该重新使用DataCache引用
Sem*_*Zen 11
那怎么样,微软确实记录了最佳实践,它确实涉及连接池!虽然不容易找到(至少对我而言).
似乎答案只是在实现较新的Azure缓存时不使用DataCacheFactory对象,而只是直接访问DataCache对象
"DataCache构造函数也有新的重载,使创建缓存客户端变得更简单.过去,始终需要创建一个返回目标缓存的DataCacheFactory对象.现在可以使用DataCache创建缓存直接构造函数.以下示例从配置文件的默认部分创建一个客户端到默认缓存."
DataCache cache = new DataCache();
Run Code Online (Sandbox Code Playgroud)
"使用最新的Windows Azure SDK,在应用程序或Web配置文件中定义缓存设置时,默认情况下会启用连接池.由于此默认行为,正确设置连接池的大小非常重要.连接池size使用dataCacheClient元素上的maxConnectionsToServer属性进行配置."
我希望Microsoft就如何正确配置maxConnectionsToServer提供一些指导,但这可以通过测试来确定.使用新的Azure缓存自动连接池非常酷:)
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |