Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Подмодуль compress.zstd

Обзор

Подмодуль compress.zstd предоставляет возможность сжимать и распаковывать данные с использованием алгоритма zstd. Использовать компрессор zstd можно следующим образом:

  1. Создайте экземпляр компрессора с помощью функции compress.zstd.new():

    local zstd_compressor = require('compress.zstd').new()-- or --local zstd_compressor = require('compress').zstd.new()

    При необходимости можно передать параметры сжатия (zstd_opts), специфичные для zstd:

local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
  1. Чтобы сжать указанные данные, используйте метод compress():
local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
  1. Чтобы распаковать данные, вызовите decompress():
local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)

Справочник по API

Ниже приведен список функций и объектов compress.zstd.

Имя

Назначение

compress.zstd.new()

Создает экземпляр компрессора zstd

zstd_compressor

Экземпляр компрессора zstd

zstd_opts

Параметры конфигурации компрессора zstd

compress.zstd.new([zstd_opts])

Создает экземпляр компрессора zstd.

Параметры:

  • zstd_opts (table) — параметры сжатия zstd (см. zstd_opts)

Возвращает

новый экземпляр компрессора zstd (см. zstd_compressor)

Тип возвращаемого значения

userdata

Пример:

local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)

zstd_compressor

Экземпляр компрессора, предоставляющий API для сжатия и распаковки данных с использованием алгоритма zstd. Чтобы создать компрессор zstd, вызовите compress.zstd.new().

zstd_compressor:compress(data)

Сжимает указанные данные.

Параметры:

  • data (string) — данные для сжатия

Возвращает

сжатые данные

Тип возвращаемого значения

string

Пример:

local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)

zstd_compressor:decompress(data)

Распаковывает указанные данные.

Параметры:

  • data (string) — данные для распаковки

Возвращает

распакованные данные

Тип возвращаемого значения

string

Пример:

local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)

zstd_opts

Параметры конфигурации zstd_compressor. Эти параметры можно передать в функцию compress.zstd.new().

Пример:

local zstd_compressor = require('compress.zstd').new({    level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)

zstd_opts.level

Задает уровень сжатия zstd, позволяющий настроить соотношение степени сжатия и скорости. Более низкий уровень повышает скорость сжатия за счет степени сжатия. Например, можно использовать уровень 1, если важна скорость, и уровень 22, если важен размер.

  • По умолчанию: 3
  • Минимум: -131072
  • Максимум: 22