我们正在将我们的一个Web应用程序从单个服务器扩展到Web场.应用程序当前使用Http运行时缓存来缓存应用程序的引用数据.数据与产品目录"相似":
由于数据很少更新,我们还预先计算了一些查找
集合当前被缓存为整个对象...即整个列表/字典是get和put.这些集合通常用于我通常需要填充下拉列表/列表框/等.
需要在服务器场中的服务器之间保持参考数据同步.输入AppFabric ...
我们上面的缓存模型是否仍然适用于AppFabric缓存?我遇到的示例似乎将单个项目放在缓存中而不是整个集合中(将'regions'用于批量get操作)
什么是最好的方法,如果有的话,保持参考数据"一起"更新...即如果类别刷新我需要刷新的产品以反映最新的类别.
目前对“批量放置”类型操作的支持有点有限(阅读:不存在)。但稍微思考一下,这可能是正确的 - 如果您将一组对象放入缓存,它不知道如何为它们提供有意义的键或标签(稍后会详细介绍)。您可以使用扩展方法来伪造它,该方法接受对象集合,并查看每个对象上的 Name 或 Id 属性,以便将对象放入缓存中,但在幕后,它仍然会归结为将对象放入缓存中一次一个。
然而,为了从缓存中获取一组对象,该方法还有另一个选项GetObjectsInRegion(regionname)。如果在将对象插入缓存时向其添加标签(例如产品),则使用类别对其进行标记,稍后您可以使用该方法获取特定标签的所有对象GetObjectsByTag。(我认为)使用标签的好处在于,您可以将任意数量的标签放在缓存中的对象上,例如对于产品,您可以使用类别来标记它,也可以使用供应商以及价格范围来标记它。这为您在查询缓存项目方面提供了更大的灵活性 - 您可以通过任何单独的标签进行查询,也可以使用 /GetObjectsByAllTags方法进行 AND/OR 查询GetObjectsByAnyTag。
| 归档时间: |
|
| 查看次数: |
1652 次 |
| 最近记录: |