Skip to main content

store

Key-value на SQLite и datafile для читаемых .lua.
Записывать руками не нужно: очередь уезжает на диск при смене карты и при выгрузке плагина.

Что выбрать

Функции и userdata не сохраняются нигде: это ошибка, а не тихая потеря.

Ключ-значение

Key-value поверх SQLite в каталоге плагина.

datafile

Чтение и запись .lua-файлов. Формат читаемый и правится руками, поэтому подходит для того, что редактирует человек: список админов, набор префиксов, сток магазина. Им же ядро хранит data/users.lua. Запись атомарна. Новое содержимое пишется в .tmp, старый файл переезжает в .bak, и только потом .tmp встаёт на место. Вывод детерминированный: ключи сортируются, две записи одних и тех же данных дают побайтово одинаковый файл.