Модуль uuid
UUID – это Универсальный уникальный идентификатор (Universally unique identifier). Если значение должно быть уникальным в пределах отдельного компьютера или одной базы данных, лучше использовать простой счетчик вместо UUID, поскольку получение UUID затратно по времени (требуется syscall). Что же касается кластеров компьютеров или широко распространенных приложений, лучше использовать UUID.
Ниже приведен перечень всех функций и элементов модуля uuid
.
Имя | Назначение |
---|---|
uuid.nil | Объект nil |
uuid() uuid.bin() uuid.str() |
Получение UUID |
uuid.fromstr() uuid.frombin() uuid_object:bin() uuid_object:str() |
Получение конвертированного UUID |
uuid_object:isnil() | Проверка, состоит ли UUID из одних нулей |
-
uuid.
fromstr
(uuid_str) Параметры: - uuid_str – UUID в 36-байтной шестнадцатеричной строке
возвращает: конвертированный UUID
тип возвращаемого значения: cdata.
-
uuid.
frombin
(uuid_bin) Параметры: - uuid_str – UUID в 16-байтной двоичной строке
возвращает: конвертированный UUID
тип возвращаемого значения: cdata.
-
object
uuid_object
-
uuid_object:
bin
([byte-order]) byte-order
может быть одним из следующих флагов:- „l“ - порядок от младшего к старшему,
- „b“ - порядок от старшего к младшему,
- „h“ - порядок зависит от хоста (по умолчанию),
- „n“ - порядок зависит от сети
Параметры: - byte-order (string) – один из
'l'
,'b'
,'h'
или'n'
.
возвращает: 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
...