Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ / /
Scala 驱动程序
/ /

压缩

Scala驾驶员支持压缩传入和传出MongoDB服务器的消息。 该驾驶员实现了MongoDB服务器支持的三种算法:

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

包括以下 import 语句:

import org.mongodb.scala._

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

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

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy")

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

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zlib")

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

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zstd")

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

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy,zlib,zstd")

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

包括以下 import 语句:

import org.mongodb.scala._
import scala.collection.JavaConverters._

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

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

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor).asJava)
.build()
val client = MongoClient(settings)

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

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZlibCompressor).asJava)
.build()
val client = MongoClient(settings)

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

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

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

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor,
MongoCompressor.createZlibCompressor,
MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

与使用连接string的配置一样,驾驶员使用列表中服务器支持的第一个压缩器。

As the JDK has no built-in support for Snappy or Zstandard, the driver takes a dependency on existing open-source Snappy and Zstandard implementations. See the snappy-java GitHub repository and the zstd-java GitHub repository for details.

后退

身份验证

在此页面上