gpt4 book ai didi

performance - 从性能角度来看,创建 CloudStorageAccount 或 CloudBlobClient 实例的成本有多高?

转载 作者:行者123 更新时间:2023-12-03 12:16:36 26 4
gpt4 key购买 nike

每次我想从存储中获取 blob 时,是否应该创建 CloudStorageAccount 和 CloudBlobClient 实例?例如,我实现了自定义虚拟路径提供程序来使用 blob 存储。最佳设计解决方案是什么:创建 CloudStorageAccount 和 CloudBlobClient 实例一次作为自定义虚拟路径提供程序的私有(private)字段,或者使用具有静态(共享)方法的实用程序,每次我想从某个对象获取 blob 时,该实用程序都会创建 CloudStorageAccount 和 CloudBlobClient 实例。贮存?从性能角度来看它有多贵?

最佳答案

您可以重用 CloudStorageAccount 和 CloudBlobClient,因为它们没有状态(请参阅 Simon 链接中 Steve Marx 的回复)。该SDK是开源的,您可以简单地look at the source on GitHub .

如果您查看 CloudStorageAccount 类,您会发现它的主要目的是确保您最终获得带有 Blob/Queue 和 TableEndpoint 的 StorageCredentials。查看 CloudBlobClient 的构造函数,您可以看到它存储存储凭据、端点 Uri 和一些默认值。

这里没有任何复杂的东西,也没有任何网络 I/O,这意味着处理非常便宜。但是,当您考虑性能时,每一个小的优化都会有所帮助,因此您可以安全地将其存储在静态变量中(这可能会影响您的单元测试),或者如果您使用 IoC 容器,您可以选择对整个容器使用单个实例。

现在您需要考虑一些事情。您的 CloudStorageAccount 和 CloudBlobClient 都将保存存储凭据和端点 Uri。但是,如果您通过门户更改此信息(您可能更改了存储帐户的 key )怎么办?如果您存储 CloudStorageAccount/CloudBlobClient 的单个实例,您可能需要处理 RoleEnvironment.Changing事件以使用新的存储帐户信息“刷新”这些对象。

关于performance - 从性能角度来看,创建 CloudStorageAccount 或 CloudBlobClient 实例的成本有多高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10813816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com