Как кэшировать данные в течение определенного периода времени?

#javascript #node.js #google-sheets #caching

Вопрос:

В своем коде я анализирую таблицы Google, и я не хочу нарываться на ограничения. Как я могу реализовать кэширование в узле js, чтобы он запрашивал данные из таблицы не чаще одного раза в несколько минут?

Комментарии:

1. Является ли размер оперативной памяти проблемой здесь? Если нет, то просто поместите данные в переменную или базу данных и обновите их через N минут.

2. Можете ли вы предоставить соответствующие части кода, над которым вы работаете?

Ответ №1:

Храните данные вместе с меткой времени. Если эта временная метка прошла определенный промежуток времени, скажем, 5 минут, когда делается запрос, повторите его. Если это происходит в пределах этого промежутка времени, просто верните кэшированные данные.

 if (cache["document_name"].timestamp   5*60 < Date.now())
    return cache["document_name"].data;
else
    return fetchData();