У меня есть «оценка», которую мне нужно рассчитать для нескольких элементов для нескольких пользователей. Каждый пользователь имеет множество уникальных оценок, и вычисление может потребовать много времени и ресурсов процессора. (медлительность не на конце базы данных). Чтобы справиться с этим, я широко использую memcached. Без memcache для загрузки некоторых страниц потребуется 10 секунд! Memcache, кажется, работает хорошо, потому что оценки - это очень маленькие кусочки информации, но для их вычисления требуется некоторое время. Я на самом деле устанавливаю ключ, чтобы никогда не истек, а затем я удаляю их при случайных обстоятельствах изменения счета.
Я вхожу в новую фазу этого продукта и обдумываю реорганизацию всего этого. Кажется, есть способ, которым я могу вычислять значения итеративно, а затем сохранять их в локальном поле. Это будет немного похоже на то, что происходит сейчас, только обновления значений будут происходить быстрее, и кеш будет в реальной базе данных, и управлять им будет немного больше работы (я думаю, что я все еще использовал бы memcache сверху об этом, хотя).
если это имеет значение, все это в python / django.
Намерение кеша - это плохая практика? Это нормально? Зачем? я должен попытаться перестроить вещи?