文档菜单
文档首页
/ / /
C++ 驱动
/

压缩网络流量

本页内容

  • 概述
  • 指定压缩算法
  • 设置 zlib 压缩级别
  • API 文档

C++ 驱动提供了一个压缩消息的连接选项,这可以减少 MongoDB 和您的应用程序之间通过网络传递的数据量。

C++ 驱动支持以下压缩算法

  1. Snappy:自 MongoDB 3.6 版本起可用。

  2. Zlib:自 MongoDB 3.6 版本起可用。

  3. Zstandard:自 MongoDB 4.2 版本起可用。

如果您没有指定压缩算法,驱动程序不会压缩您的网络流量。如果您指定了多个压缩算法,驱动程序将选择列表中MongoDB实例支持的第一个算法。

为了启用与您的MongoDB实例的连接压缩,请将compressors 连接选项包含在您的URI中,并指定您想要使用的压缩算法。以下代码显示了如何指定 snappyzstdzlib 算法,顺序如下

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib");
mongocxx::client client(uri);
}

如果您将 zlib 作为您的压缩算法之一,您还可以使用 zlibCompressionLevel 选项来指定压缩级别。此选项接受介于 -19 之间的整数值

  • -1: (默认)。 zlib 使用其默认压缩级别(通常是 6)。

  • 0: 不压缩。

  • 1: 最快速度但压缩率最低。

  • 9: 压缩率最高但速度最慢。

以下代码示例指定了 zlib 压缩算法和 zlibCompressionLevel 选项的 1

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1");
mongocxx::client client(uri);
}

要了解此页面上使用的类型和选项的更多内容,请参阅以下API文档

  • mongocxx::instance

  • mongocxx::client

  • mongocxx::uri

  • 压缩选项

返回

配置 TLS