JRazor
@JRazor
Senior StarkOverFlow Programmer

Какой существует оптимальный способ кеширования функции?

Привет всем тостеровцам!

Сразу к делу: есть, к примеру N количество функций:

def main_function():
    # Запрос и получение данных

def function1():
    data = main_function()
    
def function2():
    data = main_function()
    
def function3():
    data = main_function()


Функции вызываются каждые 10 секунд, поэтому скорость нужно оптимизировать максимально быстро. Функция main_function(), осуществляющая запрос, занимает драгоценные 3 секунды и мне не хотелось бы каждый раз повторно вызывать ее.

Какой существует наиболее оптимальный способ хранения таких данных?

1) Запись в файл и его чтение - так же небыстрая процедура.
2) Подключать какой-нибудь Redis ради такого - это будет черезчур.
3) Использовать класс вместо функций - так же неудобно, потому между функциями идет определение переменных.
  • Вопрос задан
  • 273 просмотра
Решения вопроса 1
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
Комментировать
Пригласить эксперта
Ответы на вопрос 1
JRazor
@JRazor Автор вопроса
Senior StarkOverFlow Programmer
Если кому интересно, то вот класс-декоратор для кеширования ответов функции для некоторого времени. Возможно перепишу позже, чтобы задавать максимальное время жизни ответа через декоратор:

https://gist.github.com/gitex/2e0a078bf382aed17200...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы