压缩网络流量
概述
C++ 驱动提供了一个压缩消息的连接选项,这可以减少 MongoDB 和您的应用程序之间通过网络传递的数据量。
C++ 驱动支持以下压缩算法
如果您没有指定压缩算法,驱动程序不会压缩您的网络流量。如果您指定了多个压缩算法,驱动程序将选择列表中MongoDB实例支持的第一个算法。
指定压缩算法
为了启用与您的MongoDB实例的连接压缩,请将compressors
连接选项包含在您的URI中,并指定您想要使用的压缩算法。以下代码显示了如何指定 snappy
、zstd
和 zlib
算法,顺序如下
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib"); mongocxx::client client(uri); }
设置zlib压缩级别
如果您将 zlib
作为您的压缩算法之一,您还可以使用 zlibCompressionLevel
选项来指定压缩级别。此选项接受介于 -1
和 9
之间的整数值
-1: (默认)。 zlib 使用其默认压缩级别(通常是
6
)。0: 不压缩。
1: 最快速度但压缩率最低。
9: 压缩率最高但速度最慢。
以下代码示例指定了 zlib
压缩算法和 zlibCompressionLevel
选项的 1
值
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1"); mongocxx::client client(uri); }
API 文档
要了解此页面上使用的类型和选项的更多内容,请参阅以下API文档