Модуль uuid
UUID означает универсальный уникальный идентификатор. Если приложение требует, чтобы значение было уникальным в рамках одной машины или одной БД, лучше использовать простой счетчик, а не UUID. Это связано с тем, что получать UUID-значения времязатратно и требует системного вызова. Используйте UUID для кластеров машин и крупных распределенных приложений. Tarantool генерирует UUID-значения по варианту 1 версии 4 правил, определенных в RFC 4122.
Ниже приведен перечень всех функций и элементов модуля uuid.
Имя | Назначение |
|---|---|
Объект nil UUID | |
Получение UUID | |
Создание UUID | |
uuid.fromstr() | Получение преобразованного UUID |
Проверка, имеет ли указанное значение тип UUID | |
Проверка, является ли UUID значением из одних нулей |
Объект nil UUID. Содержит значение UUID из одних нулей —
00000000-0000-0000-0000-000000000000.
Начиная с: 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
Тип возвращаемого значения
cdata
Параметры:
-
byte-order(string) — порядок байтов результирующего UUID:'l'– little-endian'b'– big-endian'h','host'– порядок байтов зависит от хоста (по умолчанию)'n','network'– порядок байтов зависит от сети
Возвращает
UUID
Тип возвращаемого значения
16-байтовая строка
Возвращает
UUID
Тип возвращаемого значения
36-байтовая бинарная строка
Параметры:
uuid-str(string) — UUID в виде 36-байтовой шестнадцатеричной строки
Возвращает
преобразованный UUID
Тип возвращаемого значения
cdata
Параметры:
-
uuid-bin(string) — UUID в виде 16-байтовой бинарной строки -
byte-order(string) — порядок байтов указанной строки:'l'– little-endian,'b'– big-endian,'h','host'– порядок байтов зависит от хоста (по умолчанию),'n','network'– порядок байтов зависит от сети.
Возвращает
преобразованный UUID
Тип возвращаемого значения
cdata
Начиная с: 2.6.1
Параметры:
value— проверяемое значение
Возвращает
true, если указанное значение является UUID, и false в противном
случае
Тип возвращаемого значения
bool
Объект uuid_object — это объект UUID, возвращаемый функциями
uuid.new(), uuid(),
uuid.fromstr() и uuid.frombin().
Параметры:
-
byte-order(string) — порядок байтов результирующего UUID:'l'– little-endian,'b'– big-endian,'h','host'– порядок байтов зависит от хоста (по умолчанию),'n','network'– порядок байтов зависит от сети.
Возвращает
UUID, преобразованный из входного значения cdata.
Тип возвращаемого значения
16-байтовая бинарная строка
Возвращает
UUID, преобразованный из входного значения cdata.
Тип возвращаемого значения
36-байтовая шестнадцатеричная строка
Значение 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...