Я написал приложение Google App Engine, которое программно генерирует кучу HTML-кода, который действительно является одним и тем же выходом для каждого пользователя, который входит в мою систему, и я знаю, что это будет неэффективно, когда код будет в производство. Итак, я пытаюсь найти лучший способ кэшировать созданные страницы.
Самый вероятный вариант - сгенерировать страницы и записать их в базу данных, а затем проверить время операции с базой данных для данной страницы с момента последнего обновления кода. Затем, если код новее, чем последний, помещенный в базу данных (для конкретного HTML-запроса), новый HTML будет сгенерирован и обслужит и будет кэширован в базу данных. Если код старше, чем последний, помещенный в базу данных, я просто получаю HTML-код непосредственно из базы данных и обслуживаю его (поэтому избегаю всех потерь процессора при генерации HTML). Я не только стараюсь минимизировать время загрузки, но и минимизировать использование ЦП.
Однако одна из проблем, которые возникают у меня, заключается в том, что я не могу понять, как программно проверять, обновлена ли версия кода, загруженная в механизм приложения.
Я открыт для любых предложений по этому подходу или других подходов к кэшированию сгенерированного html.
Обратите внимание, что хотя memcache может помочь в этой ситуации, я считаю, что это не окончательное решение, так как мне действительно нужно только повторно генерировать html при обновлении кода (в отличие от каждого раза, когда истекает срок действия memcache).