Docs 菜单
Docs 主页
/ / /
C++ 驱动程序
/

压缩网络流量

在此页面上

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

C++驾驶员提供了一个连接选项来压缩消息,从而减少了MongoDB和您的应用程序之间通过网络传递的数据量。

C++驾驶员支持以下压缩算法:

  1. Snappy :可在MongoDB3 中使用。6 及更高版本。

  2. Zlib:在 MongoDB 3.6 及更高版本中提供。

  3. Zstandard:在 MongoDB 4.2 及更高版本中提供。

如果不指定压缩算法,驾驶员将不会压缩网络流量。 如果指定多种压缩算法,驾驶员会选择MongoDB实例支持的列表中的第一个算法。

要为MongoDB实例的连接启用压缩,请在 URI 中包含 compressors连接选项,并指定要使用的压缩算法。 以下代码展示了如何按顺序指定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::实例

  • mongocxx::客户端

  • mongocxx::uri

  • 压缩选项

后退

配置 TLS