Ключ-значение
Key-value поверх SQLite в каталоге плагина.store.open
Открывает хранилище.Аргументы
Возвращает
Ключ — строка, значение — таблица, число, строка или
boolean. Повторный вызов
с тем же именем в том же плагине возвращает тот же объект: два объекта над одним
файлом означали бы две очереди записи, и вторая затирала бы первую.
Файл ложится в plugin.data_dir().
s:get
Читает значение по ключу.Аргументы
Возвращает
Видит то, что положено через
set, ещё до записи на диск.
s:set
Кладёт значение в очередь записи.Аргументы
Возвращает
s:delete
Удаляет ключ.Аргументы
Возвращает
s:keys
Все ключи хранилища.Возвращает
Учитывает то, что ещё лежит в очереди записи.
s:all
Всё содержимое хранилища.Возвращает
s:flush
Записывает очередь на диск одной транзакцией.Возвращает
Вызывается сам на
map_change и при выгрузке плагина. Явно нужен, только если
данные должны лечь на диск прямо сейчас.
Записи откладываются намеренно: вставка вне транзакции — отдельный коммит с
синхронизацией на диск, и делать так на каждый фраг нельзя.