Я рассматриваю свою стратегию добавления кэширования в бэкэнд.Я могу кэшировать любой конкретный тип запроса, например, в примере memcached для кэширования поиска USER:
sql = "SELECT * FROM user WHERE user_id = ?"
key = 'SQL:' . user_id . ':' . md5sum(sql)
Но это потребует добавления кода в разных местах по всему моему приложению.Я вижу, что есть некоторые коммерческие решения для "автоматизированного" кэширования.Но есть ли какая-либо библиотека или базовая поддержка для анализа различных выполняемых операторов SQL и выяснения, как их кэшировать?Возможно, он не так хорош, как подход, настроенный вручную, но прежде чем я пойду по этому пути, есть ли какой-либо вариант, который вы порекомендуете для обеспечения более автоматизированной стратегии кэширования, основанной на рассмотрении формы / частоты / производительности любых запросов, выполняемых моим бэкэндом, так как онработает?
Мой бэкэнд - Python / AWS Chalice Lambda.Все SQL-запросы проходят через мой собственный класс-оболочку.Даже если вы не сделаете что-то «умное», вы бы порекомендовали поместить всю логику кэширования на уровне необработанных запросов или распространить ее ближе к логике приложения?