MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs 菜单
Docs 主页
/ /
/ / / / /

压缩

Java Reactive Streams驱动程序支持压缩传入和传出MongoDB服务器的消息。该驱动程序实现了MongoDB服务器支持的三种算法:

  • Snappy:在连接到运行3.4 及更高版本的MongoDB服务器时,可以使用 Snappy 压缩。

  • zlib:在连接到运行3.6 及更高版本的MongoDB服务器时,可以使用zlib压缩。

  • Zstandard:在连接到运行4.2 及更高版本的MongoDB服务器时,可以使用 Zstandard 压缩。

驱动程序将根据服务器在 hello 命令响应中公布的功能,协商使用哪种压缩算法(如果有)。

包括以下 import 语句:

import com.mongodb.ConnectionString;
import com.mongodb.reactivestreams.client.MongoClients;
import com.mongodb.reactivestreams.client.MongoClient;

要在 ConnectionString 中指定压缩,请将压缩器指定为连接string的一部分。

以下代码指定了 Snappy 压缩算法:

ConnectionString connectionString =
new ConnectionString("mongodb://localhost/?compressors=snappy");
MongoClient mongoClient = MongoClients.create(connectionString);

以下代码指定了zlib压缩算法:

ConnectionString connectionString =
new ConnectionString("mongodb://localhost/?compressors=zlib");
MongoClient mongoClient = MongoClients.create(connectionString);

以下代码指定了 Zstandard 压缩算法:

ConnectionString connectionString =
new ConnectionString("mongodb://localhost/?compressors=zstd");
MongoClient mongoClient = MongoClients.create(connectionString);

以下代码指定了多种压缩算法:

ConnectionString connectionString =
new ConnectionString("mongodb://localhost/?compressors=snappy,zlib,zstd");
MongoClient mongoClient = MongoClients.create(connectionString);

在所有情况下,驱动程序都会使用列表中服务器支持的第一个压缩程序。

包括以下 import 语句:

import com.mongodb.MongoClientSettings;
import com.mongodb.MongoCompressor;
import java.util.Arrays;

要在MongoClientSettings实例中指定压缩,请将compressors属性设立为MongoCompressor实例列表。

以下代码指定了 Snappy 压缩算法:

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

以下代码指定了zlib压缩算法:

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createZlibCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

以下代码指定了 Zstandard 压缩算法:

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

以下代码指定了多种压缩算法:

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

与使用 URI 的配置一样,驱动程序使用列表中服务器支持的第一个压缩器。

由于 JDK 没有对 Snappy 或 Zstandard 的内置支持,因此该驱动程序依赖于现有的开源 Snappy 和 Zstandard 实现。有关详细信息,请参阅 snappy-java GitHub 存储库zstd-java GitHub 存储库

后退

身份验证

在此页面上