gpt4 book ai didi

azure - 对于 Azure Cosmos DB,缓存数据库和文档集合对象是否正确?

转载 作者:行者123 更新时间:2023-12-02 23:46:21 24 4
gpt4 key购买 nike

我正在修改 repository pattern for CosmosDB 。我已修改代码以拥有单例 CosmosDb DocumentClient。存储库的每个实例都进行网络调用来获取DatabaseDocumentCollection。所以我想知道缓存 DatabaseDoumentCollection 对象是否正确,因为在我的例子中,我只有一个集合和一个数据库。

最佳答案

您看到的许多“演示”代码都是“不正确的”,因为它是从 CosmosDB 创建或读取某些内容的几行代码。由于体积小,这在没有单例的情况下也能正常工作。将简单的操作扩展到高容量的多线程应用程序,您会发现问题。

为了避免出现问题,您应该只为数据库中的每个 CosmosDB 实例创建一个 DocumentClient 和每个集合创建一个 DocumentCollection,否则您将产生不必要的实例化的额外开销在高负载下,您会遇到套接字耗尽的情况。

我们也将我们的标记为 volatile (C#):

private static volatile DocumentClient cosmosClient;

关于azure - 对于 Azure Cosmos DB,缓存数据库和文档集合对象是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49130203/

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