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

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

Обзор

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

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

    local lz4_compressor = require('compress.lz4').new()-- or --local lz4_compressor = require('compress').lz4.new()

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

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

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

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

Имя

Назначение

compress.lz4.new()

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

lz4_compressor

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

lz4_opts

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

compress.lz4.new([lz4_opts])

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

Параметры:

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

Возвращает

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

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

userdata

Пример:

local lz4_compressor = require('compress.lz4').new({    acceleration = 1000,    decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)

lz4_compressor

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

lz4_compressor:compress(data)

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

Параметры:

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

Возвращает

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

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

string

Пример:

local lz4_compressor = require('compress.lz4').new({    acceleration = 1000,    decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)

lz4_compressor:decompress(data)

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

Параметры:

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

Возвращает

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

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

string

Пример:

local lz4_compressor = require('compress.lz4').new({    acceleration = 1000,    decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)

lz4_opts

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

Пример:

local lz4_compressor = require('compress.lz4').new({    acceleration = 1000,    decompress_buffer_size = 2097152})compressed_data = lz4_compressor:compress('Hello world!')decompressed_data = lz4_compressor:decompress(compressed_data)print(decompressed_data)

lz4_opts.acceleration

Задает коэффициент ускорения, позволяющий настроить соотношение степени сжатия и скорости. Более высокий коэффициент ускорения увеличивает скорость сжатия, но снижает степень сжатия.

  • По умолчанию: 1
  • Максимум: 65537
  • Минимум: 1

lz4_opts.decompress_buffer_size

Задает размер буфера распаковки (в байтах). Если размер распакованных данных превышает это значение, при распаковке компрессор возвращает ошибку.

  • По умолчанию: 1048576