Временное хранилище

В проекте Smart Home предоставляется in memory хранилище, которое позволяет хранить и кэшировать произвольные значения в памяти. Значения также периодически архивируются на диск каждую минуту.

Для работы с хранилищем доступны следующие методы через объект “Storage”:

  1. push(key, value): Этот метод используется для добавления значения в хранилище. Вы передаете ключ key и значение value,
  2. которое будет сохранено в памяти. Пример использования:
Storage.push('temperature', 25.5);
  1. getByName(key): Данный метод позволяет получить значение из хранилища по указанному ключу key. Если значение найдено в
  2. памяти, оно будет возвращено. Пример использования:
const temperature = Storage.getByName('temperature');
console.log(temperature);
  1. search(key): Этот метод выполняет поиск значения по ключу key. Сначала он ищет значение в памяти, и если не находит,
  2. производит поиск в базе данных. Результат поиска возвращается. Пример использования:
const result = Storage.search('temperature');
console.log(result);
  1. pop(key): Данный метод удаляет значение из хранилища по указанному ключу key. Если значение найдено и удалено, метод
  2. возвращает удаленное значение. Пример использования:
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'