Submodule compress.zstd | Tarantool
Документация на русском языке
поддерживается сообществом

Submodule compress.zstd

Enterprise Edition

This submodule is a part of the Enterprise Edition.

The compress.zstd submodule provides the ability to compress and decompress data using the zstd algorithm. You can use the zstd compressor as follows:

  1. Create a compressor instance using the compress.zstd.new() function:

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

    Optionally, you can pass compression options (zstd_opts) specific for zstd:

    local zstd_compressor = require('compress.zstd').new({
        level = 5
    })
    
  2. To compress the specified data, use the compress() method:

    compressed_data = zstd_compressor:compress('Hello world!')
    
  3. To decompress data, call decompress():

    decompressed_data = zstd_compressor:decompress(compressed_data)
    

Functions  
compress.zstd.new() Create a zstd compressor instance.
Objects  
zstd_compressor A zstd compressor instance.
zstd_opts Configuration options of the zstd compressor.

compress.zstd.new([zstd_opts])

Create a zstd compressor instance.

Параметры:
Return:

a new zstd compressor instance (see zstd_compressor)

Rtype:

userdata

Example

local zstd_compressor = require('compress.zstd').new({
    level = 5
})

object zstd_compressor

A compressor instance that exposes the API for compressing and decompressing data using the zstd algorithm. To create the zstd compressor, call compress.zstd.new().

zstd_compressor:compress(data)

Compress the specified data.

Параметры:
  • data (string) – data to be compressed
Return:

compressed data

Rtype:

string

Example

compressed_data = zstd_compressor:compress('Hello world!')
zstd_compressor:decompress(data)

Decompress the specified data.

Параметры:
  • data (string) – data to be decompressed
Return:

decompressed data

Rtype:

string

Example

decompressed_data = zstd_compressor:decompress(compressed_data)

object zstd_opts

Configuration options of the zstd_compressor. These options can be passed to the compress.zstd.new() function.

Example

local zstd_compressor = require('compress.zstd').new({
    level = 5
})
zstd_opts.level

Specifies the zstd compression level that enables you to adjust the compression ratio and speed. The lower level improves the compression speed at the cost of compression ratio. For example, you can use level 1 if speed is most important and level 22 if size is most important.

Default: 3
Minimum: -131072
Maximum: 22

Примечание

Assigning 0 to level resets its value to the default (3).

Нашли ответ на свой вопрос?
Обратная связь