Временное хранилище
В проекте Smart Home предоставляется in memory
хранилище, которое позволяет хранить и кэшировать произвольные значения
в памяти. Значения также периодически архивируются на диск каждую минуту.
Функция доступна в любом скрипте системы.
Для работы с хранилищем доступны следующие методы через объект “Storage”:
push(key, value)
: Этот метод используется для добавления значения в хранилище. Вы передаете ключkey
и значениеvalue
,- которое будет сохранено в памяти. Пример использования:
Storage.push('temperature', 25.5);
getByName(key)
: Данный метод позволяет получить значение из хранилища по указанному ключуkey
. Если значение найдено в- памяти, оно будет возвращено. Пример использования:
const temperature = Storage.getByName('temperature');
console.log(temperature);
search(key)
: Этот метод выполняет поиск значения по ключуkey
. Сначала он ищет значение в памяти, и если не находит,- производит поиск в базе данных. Результат поиска возвращается. Пример использования:
const result = Storage.search('temperature');
console.log(result);
pop(key)
: Данный метод удаляет значение из хранилища по указанному ключуkey
. Если значение найдено и удалено, метод- возвращает удаленное значение. Пример использования:
const removedValue = Storage.pop('temperature');
console.log(removedValue);
Методы объекта “Storage” предоставляют возможность добавления, получения, поиска и удаления значений из in memory
хранилища.
Вы можете использовать это хранилище для временного хранения данных в памяти, с возможностью сохранения на диск и выполнения
эффективного поиска значений.
Работа с хранилищем
Storage
.push(key, value)
.getByName(key)
.search(key)
.pop(key)
значение | описание |
---|---|
push | поместить значение в хранилище по ключу key |
getByName | получить значение из хранилища по ключу key |
search | поиск значения по ключу key |
pop | удаление записи |
пример кода
# Storage
# ##################################
foo =
'bar': 'bar'
value = JSON.stringify foo
# save var
Storage.push 'foo', value
# get exist var
value = Storage.getByName 'foo'
# search
list = Storage.search 'bar'
Storage.pop 'foo'
Изменено 05.02.2024: Merge pull request #270 from e154/master (7108cb6)