У меня есть два сервера за балансировкой нагрузки. На каждом сервере запущен сервер memcached, а файл настроек (идентичный на обоих серверах) определил их оба (вкратце: общий кэш).
Я хочу, чтобы пути к сгенерированным файлам были одинаковыми на серверах, чтобы клиент не загружался несколько раз.
Чтобы получить эту работу, мне нужно понять, как работает компрессор django.
- Какова фактическая цель кеша в компрессоре django?
- Сохраняется ли содержимое файла как в кеше, так и в файловой системе?
- Если это так, что происходит первым?
- Надеюсь, я задаю здесь правильные вопросы. Не стесняйтесь добавлять некоторые.
Более подробная и лучше построенная последовательность, чем this, будет очень полезна.
Edit
- Поскольку серверы совместно используют сервер memcached, должен ли я установить
COMPRESS_CACHE_KEY_FUNCTION = 'compressor.cache.socket_cachekey'
(см. развернуть ветку) или использует один и тот же ключ кеша с моей точки зрения иметь те же имена файлов? - Как я понимаю, mtime собирается из исходных файлов js/css, чтобы определить, могут ли они быть изменены, и из них должен быть создан новый файл. Верный?
- Это, вероятно, не происходит при каждой загрузке. Когда это произойдет?