Overview
El controlador C++ proporciona una opción de conexión para comprimir mensajes, lo que reduce la cantidad de datos entre MongoDB y su aplicación que pasa a través de la red.
El controlador de C++ soporta los siguientes algoritmos de compresión:
Si no especificas un algoritmo de compresión, el controlador no comprime tu tráfico de red. Si especificas varios algoritmos de compresión, el driver selecciona el primero de la lista que tu instancia de MongoDB admita.
Especificar algoritmos de compresión
Para habilitar la compresión de la conexión con tu instancia de MongoDB, incluye la
compressors opción de conexión en tu URI y especificar los algoritmos de compresión que deseas utilizar. El siguiente código de ejemplo muestra cómo especificar los algoritmos snappy, zstd y zlib, en ese orden:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib"); mongocxx::client client(uri); }
Configure el nivel de compresión zlib
Si especificas zlib como uno de tus algoritmos de compresión, también puedes usar la opción zlibCompressionLevel para especificar un nivel de compresión. Esta opción acepta un valor entero entre -1 y 9:
-1: (por defecto). zlib utiliza su nivel de compresión por defecto (generalmente
6).0: Sin compresión.
1: La velocidad más rápida, pero la compresión más baja.
9: Mejor compresión pero la velocidad más lenta.
El siguiente ejemplo de código especifica el algoritmo de compresión zlib y un valor de 1 para la opción zlibCompressionLevel:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1"); mongocxx::client client(uri); }
Documentación de la API
Para obtener más información sobre los tipos y opciones utilizados en esta página, consulta la siguiente documentación de la API: