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

Модуль uuid

Общие сведения

UUID означает универсальный уникальный идентификатор. Если приложение требует, чтобы значение было уникальным в рамках одной машины или одной БД, лучше использовать простой счетчик, а не UUID. Это связано с тем, что получать UUID-значения времязатратно и требует системного вызова. Используйте UUID для кластеров машин и крупных распределенных приложений. Tarantool генерирует UUID-значения по варианту 1 версии 4 правил, определенных в RFC 4122.

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

Ниже приведен перечень всех функций и элементов модуля uuid.

Имя

Назначение

uuid.NULL

Объект nil UUID

uuid()
uuid.bin()
uuid.str()

Получение UUID

uuid.new()

Создание UUID

uuid.fromstr()
uuid.frombin()
uuid_object:bin()
uuid_object:str()

Получение преобразованного UUID

uuid.is_uuid()

Проверка, имеет ли указанное значение тип UUID

uuid_object:isnil()

Проверка, является ли UUID значением из одних нулей

uuid.NULL

Объект nil UUID. Содержит значение UUID из одних нулей — 00000000-0000-0000-0000-000000000000.

uuid.new()

Начиная с: 2.4.1

Создает последовательность UUID. UUID можно использовать в индексе по полю типа UUID. Например, чтобы создать такой индекс для спейса с именем test, выполните:

tarantool> box.space.test:create_index("pk", {parts={{field = 1, type = 'uuid'}}})---...

Теперь можно вставить UUID'ы в спейс:

tarantool> box.space.test:insert{uuid.new()}---- [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f]...tarantool> box.space.test:insert{uuid.fromstr('64d22e4d-ac92-4a23-899a-e59f34af5479')}---- [64d22e4d-ac92-4a23-899a-e59f34af5479]...tarantool> box.space.test:select{}---- - [64d22e4d-ac92-4a23-899a-e59f34af5479]- [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f]...

Возвращает

UUID

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

cdata

uuid()

Возвращает

UUID

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

cdata

uuid.bin([byte-order])

Параметры:

  • byte-order (string) — порядок байтов результирующего UUID:

    • 'l' – little-endian
    • 'b' – big-endian
    • 'h', 'host' – порядок байтов зависит от хоста (по умолчанию)
    • 'n', 'network' – порядок байтов зависит от сети

Возвращает

UUID

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

16-байтовая строка

uuid.str()

Возвращает

UUID

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

36-байтовая бинарная строка

uuid.fromstr(uuid-str)

Параметры:

  • uuid-str (string) — UUID в виде 36-байтовой шестнадцатеричной строки

Возвращает

преобразованный UUID

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

cdata

uuid.frombin(uuid-bin[, byte-order])

Параметры:

  • uuid-bin (string) — UUID в виде 16-байтовой бинарной строки

  • byte-order (string) — порядок байтов указанной строки:

    • 'l' – little-endian,
    • 'b' – big-endian,
    • 'h', 'host' – порядок байтов зависит от хоста (по умолчанию),
    • 'n', 'network' – порядок байтов зависит от сети.

Возвращает

преобразованный UUID

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

cdata

uuid.is_uuid(value)

Начиная с: 2.6.1

Параметры:

  • value — проверяемое значение

Возвращает

true, если указанное значение является UUID, и false в противном случае

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

bool

uuid_object

Объект uuid_object — это объект UUID, возвращаемый функциями uuid.new(), uuid(), uuid.fromstr() и uuid.frombin().

uuid_object:bin([byte-order])

Параметры:

  • byte-order (string) — порядок байтов результирующего UUID:

    • 'l' – little-endian,
    • 'b' – big-endian,
    • 'h', 'host' – порядок байтов зависит от хоста (по умолчанию),
    • 'n', 'network' – порядок байтов зависит от сети.

Возвращает

UUID, преобразованный из входного значения cdata.

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

16-байтовая бинарная строка

uuid_object:str()

Возвращает

UUID, преобразованный из входного значения cdata.

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

36-байтовая шестнадцатеричная строка

uuid_object:isnil()

Значение UUID из одних нулей может быть выражено как uuid.NULL или uuid.fromstr('00000000-0000-0000-0000-000000000000'). Сравнение со значением из одних нулей также может быть выражено как uuid_with_type_cdata == uuid.NULL.

Возвращает

true, если значение состоит из одних нулей, в противном случае — false.

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

bool

Пример

tarantool> uuid = require('uuid')---...tarantool> uuid(), uuid.bin(), uuid.str()---- 16ffedc8-cbae-4f93-a05e-349f3ab70baa- !!binary FvG+Vy1MfUC6kIyeM81DYw==- 67c999d2-5dce-4e58-be16-ac1bcb93160f...tarantool> uu = uuid()---...tarantool> #uu:bin(), #uu:str(), type(uu), uu:isnil()---- 16- 36- cdata- false...