Skip to main content

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

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

store.open

Открывает хранилище.

Аргументы

Возвращает

Ключ — строка, значение — таблица, число, строка или boolean. Повторный вызов с тем же именем в том же плагине возвращает тот же объект: два объекта над одним файлом означали бы две очереди записи, и вторая затирала бы первую. Файл ложится в plugin.data_dir().

s:get

Читает значение по ключу.

Аргументы

Возвращает

Видит то, что положено через set, ещё до записи на диск.

s:set

Кладёт значение в очередь записи.

Аргументы

Возвращает

s:delete

Удаляет ключ.

Аргументы

Возвращает

s:keys

Все ключи хранилища.

Возвращает

Учитывает то, что ещё лежит в очереди записи.

s:all

Всё содержимое хранилища.

Возвращает

Читает всё в память — это для отчёта или миграции, не для кода на таймере.

s:flush

Записывает очередь на диск одной транзакцией.

Возвращает

Вызывается сам на map_change и при выгрузке плагина. Явно нужен, только если данные должны лечь на диск прямо сейчас. Записи откладываются намеренно: вставка вне транзакции — отдельный коммит с синхронизацией на диск, и делать так на каждый фраг нельзя.

s:pending

Сколько записей ждёт в очереди.

Возвращает