10bet网址
MySQL连接器/ J 8.0开发者指南
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 0.8 mb
PDF (A4)- 0.8 mb
HTML下载(TGZ)- 152.7 kb
HTML下载(邮政编码)- 172.0 kb


10.1连接使用X DevAPI压缩

盯着脱模8.0.20连接器/ J支持数据压缩X DevAPI连接在处理8.0.19后来MySQL服务器。一般可以找到这个功能的详细信息连接压缩与X插件。有关如何配置连接压缩连接器/ J,看到连接属性的描述xdevapi.compression,xdevapi.compression-algorithms,xdevapi.compression-extensions6.3节,“配置属性”。以下是总结的特点:

连接器/ J 8.0.22之后:压缩算法与服务器协商和谈判的优先级可以使用指定的连接属性xdevapi.compression-algorithms。它接受一个列表(算法名称)_(操作方式)逗号(,)隔开。如果属性没有设置,默认值的zstd_stream、lz4_message deflate_stream使用。谈判之前订单的优先级算法出现在列表中。显式地设置一个空字符串属性意味着压缩应该被禁用的连接。

请注意

当指定的压缩算法xdevapi.compression-algorithms的别名zstd,lz4,缩小可以用在的地方吗zstd_stream,lz4_message,deflate_stream,分别。

连接器/ J 8.0.21:早些时候,连接器/ J协商后压缩算法优先推荐的X DevAPI:尝试zstd第一,然后LZ4,最后缩小。

所有支持的压缩算法现在MySQL 8.0 X DevAPI连接连接器/ J提供开箱即用的支持缩小;这是因为没有其他的压缩算法(现在LZ4和zstd)现有支持的jre。支持这些算法,客户端应用程序必须提供相应的缩小和膨胀的实现操作的形式OutputStream和一个InputStream对象,分别。完成这个最简单的方法是通过使用一个第三方库,比如Apache Commons压缩库,支持LZ4 zstd。连接选项xdevapi.compression-extensions允许用户配置连接器/ J使用任何支持MySQL服务器的压缩算法,只要有一个Java实现算法。选择需要三胞胎之间用逗号分隔的列表(,),并且每个三联体反过来包含以下元素,由冒号(:)分隔:

  • 压缩算法的名称,由所使用的标识符表示服务器(见连接压缩与X插件;别名中提到请注意可以使用上面)。

  • 实现接口的类的完全限定名称java.io.InputStream这将用于膨胀数据压缩与指定的算法。

  • 实现接口的类的完全限定名称java.io.OutputStream这将用于缩小数据使用指定的算法。

这是一个例子,设置对算法的支持lz4_messagezstd_stream使用Apache Commons压缩库:

字符串connStr = " jdbc: mysql: / / johndoe: secret@localhost: 33060 / mydb ?”+ "xdevapi.compression-extensions=" + "lz4_message"+":" // LZ4 triplet + FramedLZ4CompressorInputStream.class.getName() + ":" + FramedLZ4CompressorOutputStream.class.getName() + "," + "zstd_stream"+":" // zstd triplet + ZstdCompressorInputStream.class.getName() + ":" + ZstdCompressorOutputStream.class.getName(); SessionFactory sessFact = new SessionFactory(); Session sess = sessFact.getSession(connStr); Collection col = sess.getDefaultSchema().getCollection("myCollection"); // (...) sess.close();
请注意

连接器/ J 8.0.21:早些时候,连接属性xdevapi.compression-extensions上面描述的命名xdevapi.compression-algorithm连接器/ J 8.0.21早些时候,每个三联体的元素应该用逗号(,)分隔代替冒号(:)。

谈判的压缩算法是企图在默认情况下(xdevapi.compression=首选默认情况下),除非连接属性xdevapi.compression被设置为禁用。压缩算法的最终选择取决于算法是在服务器上启用。默认情况下,因为不需要压缩,如果谈判失败,连接不会被压缩,但客户仍然能够与服务器通信;然而,如果连接属性xdevapi.compression被设置为要求的连接尝试失败时一个错误如果没有算法可以谈判成功。